It's rare to find exactly what you're looking for when it comes to Pandas but this was it.
@dataschool4 жыл бұрын
Great to hear! 😄
@rezas26266 жыл бұрын
Slice(None) trick was what I looked everywhere to find and found it here. Thank you so much!
@dataschool6 жыл бұрын
You're very welcome! :)
@annieyang44204 жыл бұрын
Life saver video! i have been panic for 2 days , read many pieces and still confused. this helped me out! thank you!
@dataschool9 ай бұрын
You're very welcome!
@brockobama2573 жыл бұрын
I couldn't find the Corey Schafer video on MultiIndex so I'm here. And I'm not disappointed... subscribed!
@dataschool3 жыл бұрын
Welcome to the channel! 👋
@ssankarnarayan4 жыл бұрын
slice(None) instead of : was a very important input. I struggled with it for quite a while before watching this video. Thank you.
@dataschool4 жыл бұрын
You're very welcome!
@owenlie3 жыл бұрын
24 hours struggling to get the answer, and the answer just single line *unstack()* method. Thank you so much, I'll subscribe immediately!
@dataschool9 ай бұрын
Great to hear!
@amitsardanayt2 жыл бұрын
You made this complicated taboo topic so simple to understand. Worth half an hour i spent
@dataschool2 жыл бұрын
Thanks for your kind words!
@cosmopolitanPJ5 жыл бұрын
Hello from Hungary Kevin! After a period away from the technicalities of python working mostly with Google Analytics and CRO techniques I'm glad to be back to your videos playing around Jupyter. I appreciate a lot the work you do on Data School, so here is a bit of my honest appreciation, thank you and keep it up! John Ostrowski :)
@dataschool5 жыл бұрын
Thanks so much John! :)
@emuratspahic2 жыл бұрын
Great explanation! Even though I used pandas a lot, I never really understood how multi-indexing worked. Thank you so much for this tutorial, this helped me out a lot!
@dataschool2 жыл бұрын
Glad it was helpful!
@stephenmaddock28634 жыл бұрын
Brilliant tutorial. This is the 2nd of yours that I have watched and it covered what I need in my new job. Thank you very much.
@dataschool4 жыл бұрын
You're very welcome!
@raminsadeghnasab93102 жыл бұрын
Finallllly, I understand how the multi-index works. Thanks man.
@dataschool2 жыл бұрын
You're welcome!
@khardu3 жыл бұрын
Thank you for sharing your knowledge and experience beautifully. I am new to Python and Pandas, was struggling to understand how to select a subset of the data in a MultiIndex scenario. You made it a piece of cake by putting it all in one video, and by comparing and contrasting between Series and Data Frame.
@dataschool3 жыл бұрын
That's awesome to hear! 🙌
@billy8185 жыл бұрын
ive been stuck trying to understand this reading tru the documentation for ages. 10 mins and i get it this vid is great thanks
@dataschool5 жыл бұрын
Awesome to hear!
@shrishailgajbhar31912 жыл бұрын
Thanks for helping us out with multiindexing in pandas...Cleared my daunting confusions about it.
@dataschool2 жыл бұрын
Happy to help!
@shadrinan90 Жыл бұрын
Your lesson is sooo simple and clear. I found everything I wanted to know. Thank you
@dataschool11 ай бұрын
Great to hear!
@adarshrai222 жыл бұрын
This is really a value adding video for data specialists. Thanks a lot for this brother.
@dataschool2 жыл бұрын
Glad it was helpful!
@carolinefawer-wasser25706 жыл бұрын
As always great explaination. You are a gifted teacher, so surely well worth the Patreon membership for you.
@dataschool6 жыл бұрын
Thank you, Caroline, both for your kind words and for your support through Data School Insiders! :)
@markcampanelli5 жыл бұрын
Thanks a lot. Including slice(None) was very helpful.
@dataschool5 жыл бұрын
Great to hear - you're very welcome!
@minglee51643 жыл бұрын
Thanks for the excellent tutorial, I have been confused by this issue for a long time.
@dataschool3 жыл бұрын
Glad it helped!
@searchingsoul59104 жыл бұрын
Extremely informative, thanks for making it so simple - really good job
@dataschool9 ай бұрын
Thank you! 🙏
@olenamelnyk24274 жыл бұрын
You saved my life with slice(None) (19:45). Thank you so much.
@dataschool3 жыл бұрын
You're welcome!
@mahyarazad4 жыл бұрын
Thank you gazillion, you are the best! I finally understand the functionality of the Groupby method!
@dataschool4 жыл бұрын
Great to hear!
@donaldbebel79793 жыл бұрын
Very good explanation of a confusing topic. Thanks you.
@dataschool3 жыл бұрын
Glad it was helpful to you!
@akashpoudel5715 жыл бұрын
u r the bestest ever teacher to me.......damn lucid ua guideliness......thanks a tonne sir
@dataschool5 жыл бұрын
Thank you! :)
@florianrudowable3 жыл бұрын
pandas is awesome and you are too! I cant belive that pandas is free and this video is free. Thank you.
@dataschool3 жыл бұрын
Thank you so much! 😄
@HD_1575 жыл бұрын
The most helpful video I've ever seen about Python. Thanks a lot!
@dataschool5 жыл бұрын
Awesome! Glad it was helpful to you :)
@DeebzFromThe90s2 жыл бұрын
Thank you sir. I will shoot you a donation if/when my quant journey presents some alpha. You are a lifesaver.
@dataschool2 жыл бұрын
Thank you so much!
@mohammadkaifi3 жыл бұрын
This is the solution I was looking for. Thanks!
@dataschool9 ай бұрын
You're welcome!
@Mo3azSolomon Жыл бұрын
Thanks a lot for this simplified Explanation 😍
@dataschool Жыл бұрын
You're very welcome!
@carlomision95466 жыл бұрын
Clear explanation with examples. This is exactly what I needed to know. You have yourself a new subscriber.
@dataschool6 жыл бұрын
Awesome! Thanks :)
@adamyork84075 жыл бұрын
This was so cool! I am already thinking of a dozen ways to use multi-indexing in my newbie projects and adding them to my little presentation next week. I owe a lot of my comfort with pandas to you. I hope your holidays went well, Kevin!
@dataschool5 жыл бұрын
Awesome, thanks so much for your kind comments, Adam! 👌
@5a0352 жыл бұрын
19:50 "slice(None)", I never would have figured that out..... thank you!
@dataschool2 жыл бұрын
You're welcome!
@wiresandwavessolutions47234 жыл бұрын
Thanks for making this multi-index topic so easy for all of us. I understood, pivot table perfectly after this video. I am having difficulty in the following : I want to select all Symbols and calculate the difference between the closing price of all SYMBOLs from 4th to 05th .
@mountainscott52745 жыл бұрын
Would you normally go through all of this? It seems like one can just stick to groupby() without complicating the syntax for selection or changing the shape of the dataframe. In other words, have you encountered multi-indexing often in the field?
@dataschool4 жыл бұрын
Great question! Personally, I try not to use the MultiIndex very much. That being said, it is still useful to be able to work with it when you have to.
@wildlife_and_drones13203 жыл бұрын
Very helpful. I will be back with questions about machine learning.
@dataschool3 жыл бұрын
Great! I've got a free course: courses.dataschool.io/introduction-to-machine-learning-with-scikit-learn
@shabdarana28485 жыл бұрын
Thanks. This topic had been bugging me but you make it seem really simple.
@dataschool5 жыл бұрын
It is complex, but glad you are feeling good about it now!
@TadeuszKurpiel Жыл бұрын
time about 19:55 - when it comes to selecting rows according to values of deeper levels of MultiIndex, we can also do it that way: (assumption: 'stocks' has ['Symbol', 'Date'] MultiIndex set up) selection by one value: stocks[stocks.index.get_level_values(1) == '2016-10-04'] and selection by values from list: stocks[stocks.index.get_level_values(1).isin(['2016-10-03', '2016-10-04'])] and when the MultiIndex levels have their names (like here: 'Symbol', 'Date'), we can use these names in the 'get_level_values' method instead of numbers, e.g.: stocks.index.get_level_values('Date")
@dataschool Жыл бұрын
Thanks so much for sharing!
@TadeuszKurpiel Жыл бұрын
@@dataschool - and Reuven Lerner in his film 'Retrieving from a multi-index in Pandas' (time 9min 35 sec) shows one more way - with the 'xs' method: stocks.xs('2016-10-04', level='Date') but I think my way is most flexible one - for example we can make logical expressions like this one (it corresponds to Reuven's dataframe): df[ df.index.get_level_values('Year').isin([1993, 1920, 2010]) & df.index.get_level_values('Sport').isin(['Archery', 'Judo']) & (df.Age < 24.0) ]
@jsr75993 жыл бұрын
Perfect video for what I needed. Thanks!
@dataschool3 жыл бұрын
You're welcome!
@rubencrespo17203 жыл бұрын
thank you so much, finally I could change from a Dataframe to a multiindex
@dataschool3 жыл бұрын
You're very welcome!
@coolzkabhijit4 жыл бұрын
Thanks for the video! I have a question. How to access a particular index without naming the index, like say without naming 'AAPL'
@ahmadalrashedi57183 жыл бұрын
man thank you soooooooooooooo much, I had been stuck on one thing for hours and finally figured it out!! !
@dataschool3 жыл бұрын
You're so very welcome!
@mdfaiz45836 жыл бұрын
u make things very simple....easy to understand ....thanks man
@dataschool6 жыл бұрын
You're welcome!
@Brocollipy4 жыл бұрын
Thanks so much for this video. Really great to see a range of options with such clear advice.
@dataschool4 жыл бұрын
You're very welcome!
@kilocesar7 ай бұрын
Great content man! Exactly what I needed!
@dataschool7 ай бұрын
Great to hear! 🙌
@niva0903 жыл бұрын
Thank you, this helped me out so much! I have one question however, I hope you can answer for me here: I have a multi index with ID as the first and Day as the second. Now I want to select all ID's that has more than 6 days of data. How can I pass this logical statement to the selector?
@willd0g3 жыл бұрын
Excellent - yes a few 💡 moments indeed. Very good
@dataschool9 ай бұрын
Great to hear!
@umeshdev64033 жыл бұрын
Thank you. Nice explanation. how to get max values with the dates
@ebena.k.80322 жыл бұрын
Thank you so much. 'unstack()' has alleviated my headache.
@dataschool2 жыл бұрын
You're welcome!
@zennicliffzennicliff5 жыл бұрын
Thank you so much. You are such a talented teacher. Where can I find out how I can structurally learn courses from you? Thank you and greetings!
@dataschool5 жыл бұрын
Thanks! This post might be helpful to you: www.dataschool.io/launch-your-data-science-career-with-python/
@mselim-o7p6 жыл бұрын
Thanks for additional topics. Thanks for your time.
@dataschool5 жыл бұрын
You're welcome!
@reibalachandran47754 жыл бұрын
Thanks for the video, I found it very useful and enjoyable to watch :)
@dataschool4 жыл бұрын
Great to hear!
@ramvpage5 жыл бұрын
Excellent Tutorial ! Thank You!
@dataschool5 жыл бұрын
You're welcome!
@Zielu132 жыл бұрын
Thanks. Do you know how to change the background color in dataframe.plot graphs ( the background on which there are: labels and graph name). In subplots you can use 'facecolor' param, but it doesn't work in plots generated from multiindex dataframes.
@ankitsajwan75205 жыл бұрын
Exactly what I was looking for. Thanks :)
@dataschool4 жыл бұрын
You're welcome!
@rayli22213 жыл бұрын
Thank you for sharing this information. I would like to ask if I wanted to get this to do portfolio optimization so calculating expected returns and covariance on multi-index dataframe how would you set this up?
@originalkundukulangara92813 жыл бұрын
I am trying to merge from pivot table and although it succeeds, it gives an error. merging between different levels can give an unintended result (1 level on the left,2 on the right) warnings.warn(msg, UserWarning) I tried to check if it is because of multi-indexing, it wasn't. not sure how to resolve it
@mxmmalinin3 жыл бұрын
Thank you for sharing your knowledge!
@dataschool3 жыл бұрын
My pleasure!
@CNW212 жыл бұрын
As clear as day now , thank you
@dataschool2 жыл бұрын
You're welcome!
@MagicmathmandarinOrg5 жыл бұрын
Thanks for the thorough explanation. Very helpful.
@dataschool5 жыл бұрын
Great to hear!
@ridthrahman66375 жыл бұрын
How to use range selection (:) while inner and outer row labels are inside tuples? Use slice which probably did not allow range selection. Thank you!
@dataschool4 жыл бұрын
Sorry, it's hard for me to say off-hand, good luck!
@pankajthakkar3115 жыл бұрын
This is awesome, thanks for making this Video Kevin.
@dataschool5 жыл бұрын
You are very welcome!
@twtw7854 жыл бұрын
hello Kevin, great video, got 2 questions for you. data looks like this "date","time","open","high","low","close" 04/21/82,10:01,528.55,528.55,528.45,528.45 04/21/82,10:03,528.40,528.45,528.40,528.45 04/21/82,10:04,528.40,528.40,528.35,528.40 04/21/82,10:06,528.45,528.45,528.40,528.40 I am trying to do a day HIGH/LOW studies on 1-min S&P futures data. I have 2 questions. 1) How could I print the day HIGH / LOW for each day 2) How could I print the day HIGH / LOW for the first hour of trading I've tried the followings: df.groupby(['date']).high.max() and got this date 1982-04-21 529.80 1982-04-22 530.60 1982-04-23 531.95 1982-04-26 532.80 I am kind of stuck here. I want to have the output displayed all in 2 lines day by day like the following. Date, Time, High Date, Time, Low Could you please help ? thanks a lot in advance. I appreciate your time. data type date datetime64[ns] time datetime64[ns] open float64 high float64 low float64 close float64 dtype: object ptcm2011@gmail.com
@robertodilisio75356 жыл бұрын
Hi Mark! Great video on a very Syntax confusing matter such as multiindex. Thank you very much!
@dataschool6 жыл бұрын
You're very welcome!
@ItsRainingSteak5 жыл бұрын
Top shelf content right here
@dataschool4 жыл бұрын
Thank you!
@iloveno36 жыл бұрын
Thank you. I have learned so much from you already...
@dataschool6 жыл бұрын
Great to hear!
@manikandanpalanivel49413 жыл бұрын
I learn something from your video👌but I have some doubts. Kindly explain me for example we are having a issues in our computer in different dates . We need to filter out with O/P as computer type, computer model, windows 10,7,8 , dates in sequence it got fault
@dangantman54744 жыл бұрын
unstack() + reset_index() for the win!
@venkynew9509 Жыл бұрын
15:06 indeed… you are eye opener… Also I’m wondering can we able to update cell by condition in side multi index value?
@包乐-c9f4 жыл бұрын
Thank you ! Your video is very helpful!
@dataschool9 ай бұрын
You're welcome!
@amitgaj15 жыл бұрын
Thanks Kevin. That's brillant explanation.
@dataschool5 жыл бұрын
Awesome! Thanks for your kind words :)
@nguyenduyta71362 жыл бұрын
Hi , thanks for great videos, I have a question , If I have many csv file in one folder each file is data frame of symbol of stocks (APPL.csv, BA.csv, CSCO.csv, MSFT.csv,....) but I just wanna pick a few of them but not all, instead of I use pd.read_csv one by one it's so slow and manually so I would like to use for loop but I still not find out the way. Would you please help me. Thank you
@SFayed-lg5sp3 жыл бұрын
it's so helpful!!! thank you so much!
@dataschool3 жыл бұрын
You're so welcome!
@ramutillu50054 жыл бұрын
Thanks alot. Very useful. Can u teach how to use multiple groupby in single expression.
@mounah21823 жыл бұрын
Thanks for the video but i have a question how to merge columns and indexes in order to not have blank spaces in headers in my html view ?
@asdkop78185 жыл бұрын
Nice video, anyway I would have liked a final section in which you could have explained the usage of logic over the selection on multi-indexes. Eg: what if I wanted to select data for each symbol and for each date except one? Is it possible to use the same logic as .loc with simple indexes? Thanks :)
@dataschool5 жыл бұрын
Thanks for your suggestion!
@АнтонМакаров-ъ5е4 жыл бұрын
5:30 - How to combine 2 multiindex columns in one but in different rows? So first row will be AAPL(combined) - Close - Volume. Second row AAPL 2016-10-03 - Close Volume. Third row AAPL 2016-10-04 - Close - Volume and so on???
@spiderschwein8g5 жыл бұрын
Saved me hours. Thanks!
@dataschool5 жыл бұрын
Great to hear!
@ocamlmail2 жыл бұрын
Great explanation, very clear, thank you!
@dataschool2 жыл бұрын
Thanks!
@nonamenoname26185 жыл бұрын
Multiindex is very similar to the functionality of the xarray package. And the pandas creators recommend using xarray for multiple dimensions, especially >3. Does anyone has experience with pandas Multiindex vs xarray? What would be the better choice?
@dataschool4 жыл бұрын
I haven't used xarray, sorry!
@thimirabandara6793 жыл бұрын
Great video! is there a way to must index the column so there is an outer column and inner column? And if so how do you sort that? Because I know sort_column is not a callable function on the datafram
@fredsarti12 жыл бұрын
Why slice(None).... omg. Thank you for your amazing video! Substribed
@dataschool2 жыл бұрын
Thanks!
@abcdefghi26504 жыл бұрын
THANK YOU BILLION TIMES!!!!
@dataschool3 жыл бұрын
You're very welcome!
@jerryetc4 жыл бұрын
Extremely clear, thank you
@dataschool4 жыл бұрын
You're welcome!
@j.p.brochu85923 жыл бұрын
Hoping a new version of Pandas will fix the slice(None) necessity and accept the : instead. This is the type of complexity we can spend a lot of time before we find the solution.
@ckim07174 жыл бұрын
Thank you for the videos! I have an additional question on the slice(None) object you made. Let's say you have 100 more symbols and I don't want all of the symbols but want a specific slice of symbols (for example the all symbols after "CSCO" ) how would I do that? stock.loc[("CSCO": , ['2016-10-03', '2016-10-04']), : ] does not work :(
@willd0g3 жыл бұрын
Slice(some)
@marklittlewood24186 жыл бұрын
Nice presentation Kevin well done. How about accessing a range of dates for say apple, date:date ?
@dataschool6 жыл бұрын
I'm not sure if that can be done using the colon, I'd have to check...
@Zielu132 жыл бұрын
Thanks. Any advice hot to plot multiindex?
@gggganzo3 жыл бұрын
Well explined. Would be great a video about data visualization with multiindex data structures also
@crush3dices4 жыл бұрын
11:50 dunno what version you are using but for me with pandas 1.1.3 out[21] does not work. I have to use loc[pd.IndexSlice[:,'key'], :] instead or xs('key', level = 1). Though i would prefer the easier way .loc[:, 'key'] but that does not work...
@UKIP5 жыл бұрын
Thanks. The aggregation function of the pivot table can be specified as follows: df = stocks.pivot_table(values='Close', index='Symbol', columns='Date', aggfunc=min) df = stocks.pivot_table(values='Close', index='Symbol', columns='Date', aggfunc=max) df = stocks.pivot_table(values='Close', index='Symbol', columns='Date', aggfunc='mean') # the need for the quotes confused me
@dataschool4 жыл бұрын
Thanks for sharing!
@surenderp28635 жыл бұрын
very good explanation in this vedio on multi-indexes, could you please explain, why do we need multi levels of columns and multilevels of row labels and again there is droplevel option, could you please explain on this.
@dataschool5 жыл бұрын
The short answer is that you should use a MultiIndex if it helps you to represent the structure of the data.
@jhonatangarcia38264 жыл бұрын
Thanks man! You helped me a lot!
@dataschool4 жыл бұрын
Great to hear!
@matuwuhou4 жыл бұрын
Thanks for the video! Does anyone know if it's possible to select AAPL and 2 dates and MSFT with only one date?
@marvinjoyceburgstededijk97493 жыл бұрын
Great video and many thanks. Greetings from Amsterdam
@dataschool3 жыл бұрын
Thanks for watching!
@szymonk.72374 жыл бұрын
Thank you very much for this explanation ❤️
@dataschool3 жыл бұрын
You're welcome 😊
@pankushkukreja31015 жыл бұрын
Thanks Alot, really a good series for pandas and easy to learn. I would request if you can make a video on Iteration in pandas like iterrows, itertuples and iteritems. Many Thanks In advance.
@dataschool5 жыл бұрын
I think I cover it in this video: kzbin.info/www/bejne/eF7VaomrgJ1jms0
@АнтонМакаров-ъ5е4 жыл бұрын
I have a DataFrame very similar to your ser at 5:06. But with many dates in Date column. Every date in Dates has its value. Need to find for every Symbol a date in Dates with the maximum amount of rows. df.groupby( ['Symbol', 'Date']['Value'].count() -works! It seems, all I need is to add a idxmax( )... But no, it gives only one max value, but I need for every group. How to find a date with maximum rows in every Symbol group?
@kundansinha56035 жыл бұрын
How about if the value is not an aggregate and rather an arithmetic 'calculation ' between 2 variables. Ex. Company names for index, date/timestamp for columns BUT for Values it is something like ColumnA/(ColumnB*4.7)?? Thanks :)
@dataschool4 жыл бұрын
Not sure, sorry!
@Zielu132 жыл бұрын
Thanks. How to filter multiindex?
@goncaloaguiar3 жыл бұрын
I'm having issues with accessing multiindexed dataframe. I do df.set_index with 2 or more columns, followed by sort_index, but when I try to access the dataframe by passing one value of the first level index using .loc function but the following error is returned: 'MultiIndex slicing requires the index to be lexsorted: slicing on levels [0], lexsort depth 0' By the way, my index is a datetime type.