簡體   English   中英

用熊貓替換數據框中的值

[英]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通過regexstr.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM