使用MultiIndex从DataFrame中删除特定行

时间:2018-01-20 22:49:38

标签: python pandas multi-index

我有一个Dataframe,每个月和每月的每一天有2个数据列和一个多索引,所以类似于:

           temperatureMax  temperatureMin
time time                                
1    1          14.167500        7.744167
     2          13.735000        7.480833
     3          14.228333        7.901667
     4          13.891667        7.350833
     5          13.735833        6.903333
     6          13.670000        6.494167
     7          13.642500        7.040000
     8          13.005000        6.175000
     9          13.034167        5.253333
     10         13.260833        5.628333
     11         13.783333        5.511667
     12         13.823333        6.630000
     13         13.265833        6.712500
     14         13.112500        6.130000
     15         12.355833        7.213333
     16         13.032500        6.533333
     17         13.175833        7.030000
     18         13.184167        8.225000
     19         13.896667        6.658333
     20         13.711667        5.693333
     21         13.442500        5.944167
     22         13.245000        6.468333
     23         13.765000        5.555833
     24         14.260000        5.212500
     25         13.523333        5.850000
     26         13.000000        5.519167
     27         12.554167        5.264167
     28         12.806667        5.311667
     29         12.755000        6.012500
     30         13.240833        6.136667
...                   ...             ...
12   2          13.545000        5.855833
     3          14.380833        6.214167
     4          14.502500        7.610833
     5          15.379167        8.201667
     6          15.161667        8.593333
     7          15.101667        8.940833
     8          14.886667        7.217500
     9          14.701667        7.680000
     10         14.756667        7.160000
     11         14.575000        6.057500
     12         14.172500        7.138333
     13         14.360833        7.244167
     14         14.285833        7.430000
     15         13.545000        6.167500
     16         14.082500        5.516667
     17         13.780833        5.871667
     18         13.345833        5.357500
     19         13.909167        5.682500
     20         13.264167        5.570833
     21         14.828333        6.620833
     22         14.431667        6.689167
     23         13.564167        6.491667
     24         14.343333        6.074167
     25         13.470000        5.594167
     26         13.468333        4.400833
     27         13.403333        5.600833
     28         14.506667        7.085833
     29         14.173333        6.999167
     30         14.211667        7.810000
     31         13.604167        7.382500

[366 rows x 2 columns]

如何删除当月的特定日期?也就是说,我想从此列表中删除2月29日。

我唯一能做的就是每隔12个月删除一次daily_mean.drop(29, level=1),但我只想在2月份这样做。

1 个答案:

答案 0 :(得分:3)

Drop仍然适用于此,你只需要传递给元组

df.drop((1,1))
Out[821]: 
             temperatureMax  temperatureMin
time time.1                                
1    2            13.735000        7.480833
2    1            14.228333        7.901667
     4            13.891667        7.350833
     5            13.735833        6.903333

数据输入

df
Out[820]: 
             temperatureMax  temperatureMin
time time.1                                
1    1            14.167500        7.744167
     2            13.735000        7.480833
2    1            14.228333        7.901667
     4            13.891667        7.350833
     5            13.735833        6.903333