簡體   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