代码之家  ›  专栏  ›  技术社区  ›  jbssm

从具有多索引的数据帧中删除特定行

  •  3
  • jbssm  · 技术社区  · 7 年前

    我有一个数据框架,每个月和一个月内的每一天都有两列数据和一个多索引,所以类似于:

               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个月的第29天用 daily_mean.drop(29, level=1) ,但我只想在2月份这样做。

    1 回复  |  直到 7 年前
        1
  •  7
  •   BENY    7 年前

    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