[英]Replace values in data frame with Pandas
我得到了這個數據框:
Item .................
0 Banana (From Spain)...
1 Chocolate ............
2 Apple (From USA) .....
............
我想通過刪除括號來更改所有Item的名稱,最后
Item .................
0 Banana ...............
1 Chocolate ............
2 Apple ................
............
我想,我應該使用replace,但是數據太多,所以我在考慮使用類似
import re
for i in dataframe.index:
if bool(re.search('.*\(.*\).*', dataframe.iloc[i]["Item"])):
dataframe.ix[i,"Item"] = dataframe.iloc[i]["Item"].split(" (")[0]
但是我不確定這是否是最有效的方法。
您可以使用str.replace
通過regex
與str.strip
如果需要刪除最后空格:
df.Item = df.Item.str.replace(r"\(.*\)","").str.strip()
print (df)
Item
0 Banana
1 Chocolate
2 Apple
使用str.split
另一個更簡單的解決方案是使用str進行索引 :
df.Item = df.Item.str.split(' \(').str[0]
print (df)
Item
0 Banana
1 Chocolate
2 Apple
這可以解決問題:
df.Item = df.Item.apply(lambda x: x.split(" (")[0])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.