我有以下合并问题:
我有一个行业相关数据的时间序列:在过去几年里,60个不同行业的每周利润率如下:
industry = pd.DataFrame({'Ind0': ['01', '02', '03', '04'],
'Ind1': ['11', '12', '13', '14'],
'Ind2': ['21', '22', '23', '24'],
'Ind3': ['31', '32', '33', '34']})我的第二个数据数据包括几个1000只股票及其各自的行业(每只股票都属于一个行业)。
stocks = pd.DataFrame({'Stock0': ['Ind0'],
'Stock1': ['Ind1'],
'Stock2': ['Ind2'],
'Stock3': ['Ind3'],
'Stock4': ['Ind0'],
'Stock5': ['Ind1']})我想创建一个新的数据格式,其中包含来自股票所属的正确行业的每只股票的行业时间序列,即如下所示:
result = pd.DataFrame({'Stock0': ['01', '02', '03', '04'],
'Stock1': ['11', '12', '13', '14'],
'Stock2': ['21', '22', '23', '24'],
'Stock3': ['31', '32', '33', '34'],
'Stock4': ['01', '02', '03', '04'],
'Stock5': ['11', '12', '13', '14']})我尝试过一些合并/级联方法,但都没有成功。任何帮助都是非常感谢的。
发布于 2017-10-03 02:50:00
这是你想要的吗?
stocks.T.merge(industry.T,left_on=0,right_index=True).drop(['key_0','0_x'],axis=1).rename(columns={'0_y':0}).T
Out[189]:
Stock0 Stock4 Stock1 Stock5 Stock2 Stock3
0 01 01 11 11 21 31
1 02 02 12 12 22 32
2 03 03 13 13 23 33
3 04 04 14 14 24 34https://stackoverflow.com/questions/46536444
复制相似问题