假设要按“A”列和“B”列是否有值将记录拆分,可以使用如下代码:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, '', '', 5], 'B': ['', 2, 3, '', ''], 'C': ['a', 'b', 'c', 'd', 'e']})
df.fillna(value=None, inplace=True)
not_null = ~df[['A', 'B']].isnull().all(axis=1) df_nn = df[not_null] # 非空记录 df_null = df[~not_null] # 空记录
print('非空记录:\n', df_nn) print('空记录:\n', df_null)
输出如下: 非空记录: A B C 0 1.0 a 1 2.0 2 b 2 c 3 c 4 5.0 e 空记录: A B C 3 d NaN d
其中,“~df[['A', 'B']].isnull().all(axis=1)”表示“不是所有的 A 和 B 列都是空值的记录”,即 A 和 B 列至少有一列是非空的记录。通过这个条件,我们可以将原始数据拆分为非空记录和空记录两部分。
上一篇:按多个列进行总结