我有两个数据(点和日期)离开联接或执行一个vlookup,但我有3个不同的变量加入每一行。
数据文件:
idx = [(0,1,2),(0,5,7)]
data = {'pointx': [11, 35],
'pricey': [1119, 943.7],}
points = pd.DataFrame(data, index = idx)
print(points)
initial_data = {'points': [4, 11, 16, 23, 31, 35, 39, 46],
'Date': ['16/12/2021', '28/12/2021', '4/1/2022', '13/1/2022', '26/1/2022', '1/2/2022', '7/2/2022', '16/2/2022'],
'High': [994.97998, 1119, 1208, 1115.599976, 987.690002, 943.700012, 947.77002, 926.429993],}
Dates = pd.DataFrame(initial_data)
print(Dates)我需要得到这样的结果:

其中,"points“dataframe根据索引号(0、1、2)创建了3个新列,日期是日期数据中的日期。
当您有一个列&变量时,我已经找到了几个解决方案,但是将这三个数字放在一起对我来说很困难,而且也是索引的一部分,而不是列,对于如何解决这样的问题,有什么见解吗?
result = pd.merge(points, Dates, on="idx")发布于 2022-07-03 14:59:23
您可以在行上尝试apply
points[['Date1', 'Date2', 'Date3']] = (points.apply(lambda row: Dates.loc[list(row.name), 'Date'].tolist(), axis=1, result_type='expand'))
points = points.reset_index(drop=True)print(points)
pointx pricey Date1 Date2 Date3
0 11 1119.0 16/12/2021 28/12/2021 4/1/2022
1 35 943.7 16/12/2021 1/2/2022 16/2/2022https://stackoverflow.com/questions/72847469
复制相似问题