将一系列元组拆分为多列

2024-06-17 10:32:22 发布

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

我有一系列('Name', Number)形式的元组,我想把它们分成两列,一列是名称,另一列是数字

我想以这样的方式结束:

Tuple                   Name          Number
('Scott Smith', 56)     Scott Smith   56
('Anna Frank', 100)     Anna Frank    100
('Seth Morris', 32)     Seth Morris   32

我试过多次拆分字符串、应用lambda函数等,但似乎无法正确完成这个简单的过程


Tags: frank字符串name名称number方式数字scott
2条回答

构造一个新的dataframe并重新分配给dataframe

样本df

               Tuple
0  (Scott Smith, 56)
1  (Anna Frank, 100)
2  (Seth Morris, 32)

df_final = df.assign(**pd.DataFrame(df.Tuple.tolist(), columns=['Name','Number']))

Out[170]:
               Tuple         Name  Number
0  (Scott Smith, 56)  Scott Smith      56
1  (Anna Frank, 100)   Anna Frank     100
2  (Seth Morris, 32)  Seth Morris      32

首先,使用^{}将序列转换为数据帧。然后可以使用zip分配新列:

df = s.to_frame('Tuple')
df['Name'], df['Number'] = zip(*df['Tuple'])

相关问题 更多 >