我需要拆分"国家"列,因为它在同一列中包含"索引和国家名称"。但是,我收到一条错误消息。 数据框:
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["国家"]是一个系列,将与索引值一起显示。因此可能会有一些混乱。请您确保情况并非如此。