用Pandas将字符串附加到某些数据帧行

2024-04-28 21:15:20 发布

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

这是我关于stackoverflow的第一个问题!请耐心点:)

我想在数据帧的某些行中添加文本。原始数据帧如下所示:

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'Name and rooms' : ['Excalibur: 1 room','John: 2 rooms','1 room','Lucas: 5 rooms','4 rooms','Jeremy: 1 room']})

In [3]: df
Out[3]: 
      Name and rooms
0  Excalibur: 1 room
1      John: 2 rooms
2             1 room
3     Lucas: 5 rooms
4            4 rooms
5     Jeremy: 1 room

如您所见,有些行中缺少名称。我想添加一些固定的字符串(比如“Whatever:”,不管是什么字符串)到没有名称的行(在本例中是第2行和第4行)。最终的数据集如下所示:

^{pr2}$

我是pandas/python的新人,如果有任何帮助我将不胜感激。在

谢谢!在


Tags: and数据字符串namein名称pandasdf
1条回答
网友
1楼 · 发布于 2024-04-28 21:15:20

使用矢量化的str方法contains创建一个布尔掩码并使用求反运算符~,将其传递给loc,并将字符串前置为当前值:

In [83]:

df.loc[~df['Name and rooms'].str.contains(':'),'Name and rooms'] = 'Whatever: ' + df['Name and rooms']
df
Out[83]:
      Name and rooms
0  Excalibur: 1 room
1      John: 2 rooms
2   Whatever: 1 room
3     Lucas: 5 rooms
4  Whatever: 4 rooms
5     Jeremy: 1 room

相关问题 更多 >