Pandas 中的左内连接[重复]

2023-12-06

我正在学习 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

当我这样做时:

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

or

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

I get:

        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

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

Thanks!


我认为你需要将列转换为datetime同时Dataframes,因为似乎有不同dtypes- 一个是datetime其中之一是object(明显地string):

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

print (weekdaytrain.dtypes)
data                datetime64[ns]
giorno_settimana             int64
dtype: object

print (train.dtypes)
data     object
pezzi     int64
dtype: object

new_train = pd.merge(train,weekdaytrain, on='data',how='left')
print (new_train)
         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

#column in train is not datetime, so need converting
train.data = pd.to_datetime(train.data)
new_train = pd.merge(train,weekdaytrain, on='data',how='left')
print (new_train)
        data  pezzi  giorno_settimana
0 2014-09-01   1743                 0
1 2014-09-02   1483                 1
2 2014-09-03   1510                 2
3 2014-09-04   1276                 3
4 2014-09-05   1741                 4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas 中的左内连接[重复] 的相关文章

随机推荐