使用分隔符拆分多列

2024-05-31 23:16:01 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用pandas将每列拆分为“:”

    ,0,1,2,3,4
0,MMSI : 222111345,Country : Singa,Ship name : xxxVessel,Call sign : abcd,IMO number : 12345
1,MMSI : 222111345,Country : Singa,Ship name : xxxVessel,Call sign : abcd,IMO number : 12345
2,MMSI : 222111345,Country : Singa,Ship name : xxxVessel,Call sign : abcd,IMO number : 12345
3,MMSI : 222111345,Country : Singa,Ship name : xxxVessel,Call sign : abcd,IMO number : 12345

我试着 df3 = df3[df3.columns[0]].str.split(":",expand=True)但不起作用


Tags: columnsnamenumberpandascallcountryabcdsign
1条回答
网友
1楼 · 发布于 2024-05-31 23:16:01

您可以通过concat()尝试并列出理解:

df=pd.concat([df3[x].str.split(':',expand=True) for x in df3],axis=1)

注意:如果列中有整数值和浮点值,则:

cols=df3.columns[df3.dtypes=='O']
#Filtered out columns that are of type Object    
df=pd.concat([df3[x].str.split(':',expand=True) for x in cols],axis=1)

注意:

如果您正在读取csv文件,也可以尝试以下方法:

df3=pd.read_csv("filename.csv", sep=",|:").reset_index()

相关问题 更多 >