处理列中的每一行

2024-10-05 17:43:58 发布

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

  1. 我试着检查“出生”列的每一行
  2. 检查字符串的最后一部分是否以“,”分隔,以两个字符结尾 2.a。如果有,我会加上“我们”

所以“洛杉矶,加利福尼亚”应该是“洛杉矶,加利福尼亚,美国” 而“意大利西西里岛的比萨奎诺”将保持不变

我想在函数中处理这个

我试过这个,但是当检查birthStr的长度时,它会给出所有行的长度

for row in subset.itertuples():        
   birthStr= subset['birth'].str.rsplit(",", 1).str[-1]
   if len(birthStr) ==2:
      subset.birth = birthStr + "," + "US"

Tags: 函数字符串inforif结尾字符row
1条回答
网友
1楼 · 发布于 2024-10-05 17:43:58

我们可以使用str提供的pandas方法来解决这个问题。让我们使用下面我定义的数据帧

print(df)
                       place
0            Los Angeles, Ca
1  Bisacquino, Sicily, Italy
2               New York, NY


condition = df.place.str.split(',').str[-1].str.strip().str.len() == 2

df.loc[condition, 'place'] = df.place + ', US'

print(df)

                       place
0        Los Angeles, Ca, US
1  Bisacquino, Sicily, Italy
2           New York, NY, US

相关问题 更多 >