需要拆分具有混合数据的列

  • 本文关键字:数据 混合 拆分 python
  • 更新时间 :
  • 英文 :


我需要拆分"国家"列,因为它在同一列中包含"索引和国家名称"。但是,我收到一条错误消息。 数据框:

df['country']
0             US
1          Spain
2             US
3             US
4         France
...  
150925     Italy
150926    France
150927     Italy
150928    France

150929 意大利

here is my codes:
# new data frame with split value columns 
new = data["Name"].str.split(" ", n = 1, expand = True) 
# making separate first name column from new data frame 
data["id"]= new[0] 
# making separate last name column from new data frame 
data["Country"]= new[1] 
# Dropping old Name columns 
data.drop(columns =["country"], inplace = True) 
# df display 
data 

我尝试使用字典,键值,但没有成功。

----------------------------------------------------------- 
df['country']
0             US
1          Spain
2             US
3             US
4         France
...  
150925     Italy
150926    France
150927     Italy
150928    France

150929 意大利

here is my codes:
# new data frame with split value columns 
new = data["country"].str.split(" ", n = 1, expand = True) 
# making separate first name column from new data frame 
data["id"]= new[0] 
# making separate last name column from new data frame 
data["Country"]= new[1] 
# Dropping old Name columns 
data.drop(columns =["country"], inplace = True) 
# df display 
data 

我想为 id 和国家/地区设置单独的列: 身份证国家 0 美国 1 西班牙 2 美国 3 美国 4 法国 ...
150925 意大利 150926 法国 150927 意大利 150928 法国 150929 意大利

您可以使用以下方法:

import pandas as pd 
lst = ['US','Spain','US','France','Italy','France','Italy','France'] 
ids=list(range(len(lst)))
df = pd.DataFrame(lst)
newdf= pd.DataFrame(list(zip(ids,lst)),columns =['id', 'country']) 
print (newdf)

我想你有点困惑。在您获得系列df['country'],系列始终与索引一起显示。如果你想得到它的值或索引,你可以做

df['country'].values

df['country'].index

希望这有帮助!

这个问题有点不清楚,所以我给出了两个可能的建议:

1 - 如果您实际上有一列结合了数字和字符串值,则可以使用以下代码将它们拆分为两个单独的列。

INPUT :
Name
0 France
1 India
2 US
3 Russia
CODE :
data[["ID","Country"]] = data["Name"].str.split(" ", n = 1, expand = True)
data=data.drop(["country"], axis=1)

2 - 正如阿方索所提到的,df["国家"]是一个系列,将与索引值一起显示。因此可能会有一些混乱。请您确保情况并非如此。

最新更新