Python 选择数据帧中最多有一个空条目的行
如果我需要从数据帧中进行选择,其中col1和col2列必须符合以下条件:这些列中至少有一列不能为null 现在,我正在尝试执行以下操作,但它不起作用Python 选择数据帧中最多有一个空条目的行,python,pandas,dataframe,nan,Python,Pandas,Dataframe,Nan,如果我需要从数据帧中进行选择,其中col1和col2列必须符合以下条件:这些列中至少有一列不能为null 现在,我正在尝试执行以下操作,但它不起作用 df=df.loc[(df['Cat1_L2'].isnull()) & (df['Cat2_L3'].isnull())==False] 设置 (修改U8远期数据) 使用isna编制索引+sum 修复代码时,请确保True案例数(对应于列中的NaN)小于2 df[df[['Cat1_L2', 'Cat3_L3']].isna().su
df=df.loc[(df['Cat1_L2'].isnull()) & (df['Cat2_L3'].isnull())==False]
设置
(修改U8远期数据)
使用isna编制索引+
sum
修复代码时,请确保True
案例数(对应于列中的NaN
)小于2
df[df[['Cat1_L2', 'Cat3_L3']].isna().sum(axis=1) < 2]
Cat1_L2 Cat3_L3
0 1.0 NaN
1 NaN 3.0
2 3.0 4.0
一种方法是使用
itertuples()
在每一行上循环。Beaware认为这在计算上是昂贵的
1-创建一个列表,使用iTerPles()为每一行更改您的条件。
2。将列表转换为熊猫系列
condition_list = []
for row in df.itertuples():
if (row.Cat1_L2 != None) or (row.Cat2_L3 != None):
condition_list.append(1)
else:
condition_list.append(0)
condition_series = pd.Series(condition_list)
3。将系列附加到原始df上
df['condition_column'] = condition_series.values
df_new = df[df.condition_column == 1]
del df_new['condition_column']
4。过滤器df
df['condition_column'] = condition_series.values
df_new = df[df.condition_column == 1]
del df_new['condition_column']
谢谢你的支持,感谢你的回答。请坚持下去,继续学习+1.