我有一个下面的数据框,我想透视数据以将“名称”列的值更改为多个列,并将“数据”列中的值更改为“名称”列创建的列的值。
由于在我轮换数据时“数据”列具有所有类型的日期,因此我没有得到所需的结果,有人可以告诉我我在做什么错吗?
import numpy as np
dict_d = {'Name': {0: 'Number', 1: 'Purpose', 2: 'Approver', 3: 'internal/external', 4: 'Name', 5: 'N Mnemonic'}, 'Data': {0: '123456', 1: 'BC', 2: np.nan, 3: 'internal', 4: np.nan, 5: 'xyz'}}
df = pd.DataFrame(dict_d)
df
o / p
Name Data
0 Number 123456
1 Purpose BC
2 Approver NaN
3 internal/external internal
4 Name NaN
5 N Mnemonic xyz
我已经试过了
df.pivot_table(columns='Name', values='Data', aggfunc=lambda x: ''.join(str(x)))
Name Approver N Mnemonic Name Number Purpose internal/external
Data NameData NameData NameData NameData NameData NameData
但是在第1行中,我需要数据值。
我认为您需要转换Name
为索引,[]
为一列选择两倍DataFrame
并转置:
df1 = df.set_index('Name')[['Data']].T
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句