处理列中的每一行

时间:2019-03-28 19:59:02

标签: python pandas bigdata

  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"

1 个答案:

答案 0 :(得分:0)

我们可以使用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