我希望转置类似的内容:
NSItemProvider
类似于:
ID name
1 1 name
2 1 name1
3 2 name2
4 2 name3
5 2 name4
答案 0 :(得分:2)
您可以尝试以下操作,首先创建一个列变量,然后使用pivot
:
df['col'] = 'col' + (df.groupby('ID').cumcount() + 1).astype(str)
df.pivot('ID', 'col', 'name')
#col col1 col2 col3
#ID
#1 name name1 None
#2 name2 name3 name4
答案 1 :(得分:1)
您可以使用数据透视表:
import pandas as pd
df = pd.DataFrame({'ID': [1,1,2,2,2], 'name': 'name','name1','name2','name3','name4']})
df['No.'] = df.groupby('ID').cumcount()
df.pivot(index='ID', columns='No.', values='name')
返回:
No. 0 1 2
ID
1 name name1 None
2 name2 name3 name4
或.unstack()
:
df.set_index(['ID','No.'])['name'].unstack('No.')
返回:
No. 0 1 2
ID
1 name name1 None
2 name2 name3 name4