如果列的子集是某些x值的y值,如何重塑数据帧
df_record = pd.DataFrame({
'date' : ['2019-03-17', '2019-03-17', '2019-03-17', '2019-03-17'],
'id' : ['a', 'a', 'b', 'b'],
'meta' : ['A', 'B', 'A', 'B'],
'y11' : [0.1, 0.2, 0.3, 0.4],
'y12' : [1, 2, 3, 4],
'y21' : [10, 20, 30, 40],
'y22' : [100, 200, 300, 400],
})
在本例中,y12、y12、y21和y22对应于例如[10,20100200]。 我可以将此添加到每行:
xs = [10,20,100,200]
df_ = pd.DataFrame()
for i in range(len(df_record)):
xs_ = pd.Series(xs, name=i)
df_ = pd.concat([df_, xs_], axis=1)
df_['xs'] = [ 'x%i'%i for i in xs ]
pd_ = pd.concat([df_record, df_.set_index('xs').T], axis=1)
打印内容:
date id meta y11 y12 y21 y22 x10 x20 x100 x200
0 2019-03-17 a A 0.1 1 10 100 10 20 100 200
1 2019-03-17 a B 0.2 2 20 200 10 20 100 200
2 2019-03-17 b A 0.3 3 30 300 10 20 100 200
3 2019-03-17 b B 0.4 4 40 400 10 20 100 200
但现在我迷路了。我很确定类似df_.pivot()
的内容应该有助于反映结构,即xs是一个类似['date', 'id', 'meta', 'xs']
的索引级别
提前谢谢
另外,我如何从Jupyter NB发布上述命令的结果
可以使用指定的索引和列值创建新的} 创建为原始值:
DataFrame
,并将^{然后通过^{} 重塑:
如果需要删除列
variable
:编辑:
对于指定列,可以使用:
相关问题 更多 >
编程相关推荐