Pandas的左内连接

2024-10-03 19:22:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习Python(2.7)并尝试左连接两个pandas数据帧。 一个数据帧包含产品的日期和相应的销售,而另一个数据帧包含日期和一周中相应的日期。在

print type(weekdaytrain)
print weekdaytrainhead(5)

<class 'pandas.core.frame.DataFrame'>
         data  giorno_settimana
0  2014-09-01                 0
1  2014-09-02                 1
2  2014-09-03                 2
3  2014-09-04                 3
4  2014-09-05                 4

print type(train)
print train.head(5)

<class 'pandas.core.frame.DataFrame'>
        data     pezzi
1078 2014-09-01   1743
1086 2014-09-02   1483
1094 2014-09-03   1510
1102 2014-09-04   1276
1110 2014-09-05   1741

当我这样做时:

^{pr2}$

或者

new_train = pd.merge(train,weekdaytrain, left_on='data',right_on='data',how='left') 

我得到:

        data  pezzi  giorno_settimana
0 2014-09-01   1743               NaN
1 2014-09-02   1483               NaN
2 2014-09-03   1510               NaN
3 2014-09-04   1276               NaN
4 2014-09-05   1741               NaN

即使日期确实相符。 我寻找答案,但没有一个适合我的问题,你能帮我吗?在

谢谢!在


Tags: 数据coredataframepandasdatatypetrainnan
1条回答
网友
1楼 · 发布于 2024-10-03 19:22:12

我认为您需要将这两个Dataframes中的列转换为datetime,因为似乎有不同的dtypes-一个是{},一个是{}(显然是{}):

weekdaytrain.data = pd.to_datetime(weekdaytrain.data)
train.data = pd.to_datetime(train.data)

^{pr2}$

相关问题 更多 >