使用布尔逻辑在熊猫清洁DF[英] Using Boolean Logic to clean DF in pandas

本文是小编为大家收集整理的关于使用布尔逻辑在熊猫清洁DF的处理方法,想解了使用布尔逻辑在熊猫清洁DF的问题怎么解决?使用布尔逻辑在熊猫清洁DF问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

df

shape   square
shape   circle
animal   NaN
NaN dog
NaN cat
NaN fish
color   red
color   blue

所需_df

shape   square
shape   circle
animal  dog
animal  cat
animal  fish
color   red
color   blue

我有一个df包含需要归一化的信息.

我已经注意到了一种图案,指示如何加入列并使数据正常化.

如果在Col1!= NaN和Col2 == NaN,直接在下行Col1 == NaN和Col2!= NaN中,那么从COL1和COL2的值应该连接.这将继续到达包含值Col1的行!= NaN和Col2!= NaN .

有没有办法在pandas中解决这个问题?

我正在考虑的第一步是以包含真/假值的顺序创建附加列,以便确定要加入的列,一旦这样做,我不确定如何在Col1中分配值到Col2中的所有相关值.

任何需要到达所需结果的建议?

推荐答案

如果您所识别的模式是一个启发式,那么我努力遵循,你可以尝试 pd.Series.ffill pd.Series.bfill 达到所需的结果:

df[0] = df[0].ffill()
df[1] = df[1].bfill()

然后删除重复:

df = df.drop_duplicates()

print(df)

        0       1
0   shape  square
1   shape  circle
2  animal     dog
4  animal     cat
5  animal    fish
6   color     red
7   color    blue

本文地址:https://www.itbaoku.cn/post/1727792.html