繁体   English   中英

合并数据帧混乱

[英]merging data frames confusion

我对合并几个数据框有些困惑。 以下数据帧被称为(dayData和数据):

dayData:

               id          stock_name    broad_sector currency
0  BBG.XLON.BTA.S        BT GROUP PLC  Communications      GBp
1  BBG.XLON.VOD.S  VODAFONE GROUP PLC  Communications      GBp

dayData type <class 'pandas.core.series.Series'>
dayData index  [0 1]

数据:

            id
BBG.XLON.BTA.S    301.221525
BBG.XLON.VOD.S    213.791400

Name: 2008-02-20 00:00:00, dtype: float64
data index  [0 1]

dayData数据框是一个Series,因此我转换为一个数据框,然后尝试合并这些datae数据框:

data = data.to_frame().reset_index()
data.columns = ['id', 'price']
dayData = dayData.merge(data[['price']], left_on='id', right_index=True)

但是返回的dayData数据框为空:

Empty DataFrame
Columns: [id, stock_name, broad_sector, currency, price]
Index: []

我希望返回的是:

               id          stock_name    broad_sector currency       price
0  BBG.XLON.BTA.S        BT GROUP PLC  Communications      GBp  301.221525
1  BBG.XLON.VOD.S  VODAFONE GROUP PLC  Communications      GBp  213.791400

知道我做错了什么吗?

谢谢,

我想你可以join SerieDataFrame ,但建立之前Serie namepricedata.name = 'price'

print (dayData)

               id          stock_name    broad_sector currency
0  BBG.XLON.BTA.S        BT GROUP PLC  Communications      GBp
1  BBG.XLON.VOD.S  VODAFONE GROUP PLC  Communications      GBp

data.name = 'price'
print (data)

id
BBG.XLON.BTA.S    301.221525
BBG.XLON.VOD.S    213.791400
Name: price, dtype: float64

dayData = dayData.join(data, on='id')

print (dayData)
               id          stock_name    broad_sector currency       price
0  BBG.XLON.BTA.S        BT GROUP PLC  Communications      GBp  301.221525
1  BBG.XLON.VOD.S  VODAFONE GROUP PLC  Communications      GBp  213.791400

在索引上连接关键列

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM