簡體   English   中英

Python Pandas Merge僅找到一個匹配項

[英]Python Pandas Merge only finds one match each

我正在嘗試合並兩個數據框,一個具有用戶每月活動,另一個具有月租費用,並且兩個都有ID號。 我想在每月的行中合並活動和費用。

all_dat = pd.merge(activity,fees,on=[id,year_month])

當我嘗試將其加入ID和時間(datetime64)時,結果僅具有每個用戶的第一個匹配項,日期為2017-1-1。 即使我在兩個數據框中都能清楚地找到許多相同的日期時間,但合並后的日期時間只給我2017-1-1的行。

> print(set(all_dat[year_month]))
{Timestamp('2017-01-01 00:00:00')}

費用框架如下所示:

USER_ID   Name   Time       Fees
123       John   2016-12-01 300
123       John   2017-01-01 500
123       John   2017-02-01 400

活動看起來像這樣:

USER_ID   Name   Time       Activity
123       John   2017-01-01 20
123       John   2017-01-02 30

由於合並,我想得到像這樣的東西:

USER_ID   Name   Time       Activity Fees
123       John   2017-01-01 20       500 
123       John   2017-01-02 30       400

但是我只有第一場比賽:

USER_ID   Name   Time       Activity Fees
123       John   2017-01-01 20       500 

我不認為這是dtype問題,可能出了什么問題?

我發現了問題,每個數據幀中的月份和日期都是相反的。 由於1月1日是01-01,因此它是唯一獲得任何比賽的人。 確保您的日期時間格式是統一的,伙計們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM