单列每行有多个值,用逗号分隔。如何为每一个创建一个单独的列?
数据挖掘
Python
数据集
熊猫
数据清理
预处理
2021-09-29 00:07:18
2个回答
如果您可以提供一些代码来让我们至少重现您的 DataFrame 的一部分,那就更好了,例如:
import pandas as pd
df = pd.DataFrame({'code': ['6254', '5854, 5676, 7265, 6051', '5815']})
一开始,您的数据框如下所示:
code
0 6254
1 5854, 5676, 7265, 6051
2 5815
一个可能的解决方案是这样做:
df['code'].str.get_dummies(sep=', ').add_prefix('code')
这给了你这个:
code5676 code5815 code5854 code6051 code6254 code7265
0 0 0 0 0 1 0
1 1 0 1 1 0 1
2 0 1 0 0 0 0
ind=df2.columns.tolist().index('Ticker')
x=0
df3=pd.DataFrame(columns=df2.columns.tolist())
for i in df2.values.tolist():
l1=i[ind].split(';')
for j in l1:
x=x+1
i1=i[:ind]
i1.extend([j])
df3.loc[str(x)]=i1
df3
其它你可能感兴趣的问题
