nOO*_*bda 4 python dataframe pandas
我有一个数据框
在这里,我有一个名为“名称拆分”的列,它是一个包含列表的列。现在我想拆分列表的内容并为每个列表创建单独的列。
这是我迄今为止尝试过的:
df = pd.read_csv("C:/Users/Transorg-PC/Desktop/Training/py/datase/football.csv")
temp = df.copy()
temp['name'] = temp['name'].apply(lambda x: ' '.join(x.split()))
temp['name split'] = temp['name'].apply(lambda x: x.split())
temp['length'] = temp['name split'].str.len()
for i in range(temp['length'].max()-1):
temp[i] = temp['name split'].apply(lambda x:x[i])
Run Code Online (Sandbox Code Playgroud)
但是我无法像这样迭代,因为在某些情况下索引超出范围。那么如何在单独的列中拆分列表的内容。
类似于来自 jpp 的数据
pd.concat([df,pd.DataFrame(df.name.tolist())],1)
Out[1596]:
A name 0 1
0 1 [1, 2] 1 2
1 1 [3, 4] 3 4
2 2 [5, 6] 5 6
Run Code Online (Sandbox Code Playgroud)
更新
df=pd.DataFrame([[1,[1, 2]],
[1,[3, 4]],
[2,[5, 6,1,1]]],
columns=['A','name'])
pd.concat([df,pd.DataFrame(df.name.tolist())],1)
Out[1602]:
A name 0 1 2 3
0 1 [1, 2] 1 2 NaN NaN
1 1 [3, 4] 3 4 NaN NaN
2 2 [5, 6, 1, 1] 5 6 1.0 1.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6178 次 |
| 最近记录: |