簡體   English   中英

如何在 pandas dataframe 內的列中拆分字符串?

[英]How to split a string in a column within a pandas dataframe?

這是我擁有的文件的一個示例,

Name     Att1     Att2     Att3
AB_EN    1        2        3
CD       5        6        7
FG_EN    7        8        9

因此,在存在“_EN”的“名稱”列中,我想刪除“_EN”部分。 output應該如下:

Name     Att1     Att2     Att3
AB       1        2        3
CD       5        6        7
FG       7        8        9

這就是我正在嘗試的:

name = df['Name']

for entry in name:
    if "_EN" in entry:
       entry = entry.split('_')[0]

但是,這是行不通的。 有什么好方法可以做到這一點?

使用str.split

前任:

df = pd.DataFrame({"Name": ["AB_EN", "CD", "FG_EN"]})
df['Name'] = df['Name'].str.split("_").str[0]
print(df)

Output:

  Name
0   AB
1   CD
2   FG

您可以使用pandas 系列的字符串方法

在你的情況下,那將是

df['Name']=(df.Name
      .str.split('_')  # split on _
      .str[0] # Only keep first part of the split
    )

這應該適合你:

df['Name'] = [name.split('_')[0] for name in df['Name']]

您只需對 dataframe 中的系列進行適當的更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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