如何使用条件从另一列中提取值?

2024-09-29 22:00:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想根据另一列中的值创建一列。我找到了这个approach,但我认为这不会起作用,因为在“抽象”数据之前,我需要检查所有的“Unique_String”值

我想要什么?

我想通过我的“文本”列“循环”(?),看看是否有可用的数据。如果没有,它应该查看“Unique_String”列,提取(如果可用)值,并将其粘贴到文本列中

数据

我有这样一个数据帧:

Unique_String                 Text 
AAA                           Here is text! 
AAA                           nan
BBB                           nan
BBB                           Here is text as well! 
BBB                           Feyenoord
CCC                           nan
CCC                           nan

所需输出为:

Unique_String                 Text 
AAA                           Here is text! 
AAA                           Here is text!
BBB                           Here is text as well!
BBB                           Here is text as well! 
BBB                           Feyenoord
CCC                           nan
CCC                           nan 

非常感谢


Tags: 数据text文本stringhereisasnan
1条回答
网友
1楼 · 发布于 2024-09-29 22:00:01

以下是每个组的前向和后向填充所需的调用函数:

df['Text'] = df.groupby('Unique_String')['Text'].apply(lambda x: x.ffill().bfill())
print (df)
  Unique_String                   Text
0           AAA          Here is text!
1           AAA          Here is text!
2           BBB  Here is text as well!
3           BBB  Here is text as well!
4           BBB              Feyenoord
5           CCC                    NaN
6           CCC                    NaN

相关问题 更多 >

    热门问题