Python 基于字符串的列条件填充
我有一个数据集,我必须填充条件行或删除条件行。但是,我还是不成功Python 基于字符串的列条件填充,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据集,我必须填充条件行或删除条件行。但是,我还是不成功 Idx Fruits Days Name 0 60 20 1 15 85.5 2 10 62 Peter 3 40 90 Maria 4 5 10.2 5 92 66 6 65 87 John 7 50 1 Eric 8 50 0 Maria 9 80 87 John 现在,我有一些空牢房。我可以用fillna或regex填充,也可以删除空单元格。 在字符串开始之前,我只需要第一个开始的单元格,可以是拖放,也可以是填充“ 如下
Idx Fruits Days Name
0 60 20
1 15 85.5
2 10 62 Peter
3 40 90 Maria
4 5 10.2
5 92 66
6 65 87 John
7 50 1 Eric
8 50 0 Maria
9 80 87 John
现在,我有一些空牢房。我可以用fillna或regex填充,也可以删除空单元格。
在字符串开始之前,我只需要第一个开始的单元格,可以是拖放,也可以是填充“
如下
Idx Fruits Days Name
0 60 20 .
1 15 85.5 .
2 10 62 Peter
3 40 90 Maria
4 5 10.2
5 92 66
6 65 87 John
7 50 1 Eric
8 50 0 Maria
9 80 87 John
及
有没有可能使用熊猫?或任何循环?您可以尝试以下方法:
df['Name'] = df['Name'].replace('', np.nan)
df['Name'] = df['Name'].where(df['Name'].ffill().notna(), '.')
print(df)
Idx Fruits Days Name
0 0 60 20.0 .
1 1 15 85.5 .
2 2 10 62.0 Peter
3 3 40 90.0 Maria
4 4 5 10.2
5 5 92 66.0
6 6 65 87.0 John
7 7 50 1.0 Eric
8 8 50 0.0 Maria
9 9 80 87.0 John
您最终期望的数据帧是什么?第一个还是第二个?原则上两者都应该起作用,但首选项是第一个数据帧,显然它不起作用。你能建议使用数据帧的第二个条件吗?你可能需要先用NaN替换所有空格'。核对编辑后的答案非常感谢。成功了。如果有任何进一步的问题。我会给你写一个请求。
df['Name'] = df['Name'].replace('', np.nan)
df['Name'] = df['Name'].where(df['Name'].ffill().notna(), '.')
print(df)
Idx Fruits Days Name
0 0 60 20.0 .
1 1 15 85.5 .
2 2 10 62.0 Peter
3 3 40 90.0 Maria
4 4 5 10.2
5 5 92 66.0
6 6 65 87.0 John
7 7 50 1.0 Eric
8 8 50 0.0 Maria
9 9 80 87.0 John