假设这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 次 |
最近记录: |