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