繁体   English   中英

如何根据python中的空格将一列拆分为4列?

[英]How to split a column into 4 columns based on spaces in python?

我见过类似的问题,但似乎在 Python 3.8 中都行不通。 我有一个 dataframe 之类的

index id
0   0001 01 12537.30 0
1   0001 01 1278.50 1
2   0001 03 53.10 0

其中 id 列应拆分为 4 列,但它们现在位于一列中。 我需要根据空间拆分它。

我努力了

df2 = df1['id'].apply(lambda x: pd.Series(x.split(' ')))

或者

df1[["City", "State", "Country",'indicator']] = df1["id"].str.split(pat=" ", expand=True)

所有人都告诉我 TypeError: 'function' object 不可订阅。 有人有什么主意吗? 谢谢

与其经历拆分列的麻烦,更简单的方法是使用read_csv方法创建一个新的 Dataframe,其中sep参数为空格或制表符(无论你在那里有什么)和skiprows参数为 1 和 names=[co1 , col2, col3,...]。

这是进一步阐明上述观点的示例:

new_df = pd.read_csv(path_to_your_file, sep='\\t', skiprows=1, names=['id', 'col1', 'col2', 'col3']

很晚了,但这是你可以做的:

df['id'].str.extractall('(\w+)')[0].unstack()

这是原始答案的链接(链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM