假设这df是一个pandas数据帧.我想根据一些标准将其拆分为两个数据帧.我发现这样做的最好方法是
df0, df1 = [v for _, v in df.groupby(df['class'] != 'special')]
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,标准是groupby方法的参数.结果df0由class字段具有值的子数据帧组成'special',并且df1基本上是补充df0.(不幸的是,使用这种结构,首先返回由不符合标准的项组成的子数据帧,这是不直观的.)
上述构造具有以下缺点:它不是特别可读的,当然不像例如某些假设splitby方法那样可读
df0, df1 = df.splitby(df['class'] == 'special')
Run Code Online (Sandbox Code Playgroud)
由于分割像这样的数据帧是我经常需要做的事情,因此我认为可能存在内置函数,或者可能是已建立的习惯用法.如果是的话,请告诉我.
我认为最可读的方法是:
m = df['class'] != 'special'
a, b = df[m], df[~m]
Run Code Online (Sandbox Code Playgroud)
我没有遇到过这种特殊方法......
| 归档时间: |
|
| 查看次数: |
6450 次 |
| 最近记录: |