[英]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
Serie
到DataFrame
,但建立之前Serie name
到price
由data.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.