我在试着重塑数据。将我的列设置为一行,但第一列控制行长度。
我试着用熊猫pivot_table来重塑专栏。希望它能看上去。
ID Apex max min angle
1 A1 30.1 -16.9 NA
2 A1 89 NA NA
3 B1 100 26.3 68.9ID Parameter Simulated
1 Apex A1
1 max 30.1
1 min -16.9
2 Apex A1
2 max 89
3 Apex B1
3 max 100
3 min 26.3
3 angle 68.9
df1 = pd.DataFrame({'ID': [1, 1, 1, 2, 2, 3, 3, 3, 3],
'Parameter': ['Apex', 'max', 'min', 'Apex ', 'max',
'Apex', 'max', 'min', 'angle'],
'Simulated': ['A1', 30.1, -16.9, 'A1', 89,
'B1', 100, 26.3, 68.9],
},
index=[0, 1, 2, 3, 4, 5, 6, 7, 8])
pd.pivot_table(df1, index = 'ID', columns ='Parameter', values = 'Simulated')我得到了这个错误- DataError:没有要聚合的数字类型
谢谢你能帮我的忙。
发布于 2019-01-22 22:10:11
尝试:
df1.pivot(index='ID', columns='Parameter', values='Simulated')输出:
Parameter Apex angle max min
ID
1 A1 NaN 30.1 -16.9
2 A1 NaN 89 NaN
3 B1 68.9 100 26.3pivot_table假设您要聚合值,默认情况下它将使用'mean',因为您的数据中有字符串,所以它会导致错误。
多个条目:
df1.groupby(['ID','Parameter']).first()['Simulated'].unstack().reset_index()发布于 2019-01-22 23:01:57
In [43]: df1.set_index(['ID', 'Parameter']).unstack()
Out[43]:
Simulated
Parameter Apex Apex angle max min
ID
1 A1 NaN NaN 30.1 -16.9
2 NaN A1 NaN 89 NaN
3 B1 NaN 68.9 100 26.3https://stackoverflow.com/questions/54317109
复制相似问题