python合并两个数据框_使用python合并两个数据框

我有两个数据框:dfDepas和df7;

dfDepas.info()

Int64Index: 7 entries, 0 to 6

Data columns (total 4 columns):

day_of_week 7 non-null object

P_ACT_KW 7 non-null float64

P_SOUSCR 7 non-null float64

depassement 7 non-null float64

dtypes: float64(3), object(1)

memory usage: 280.0+ bytes

df7.info()

Index: 7 entries, Fri to Thurs

Data columns (total 6 columns):

ACT_TIME_AERATEUR_1_F1 7 non-null float64

ACT_TIME_AERATEUR_1_F3 7 non-null float64

ACT_TIME_AERATEUR_1_F5 7 non-null float64

ACT_TIME_AERATEUR_1_F6 7 non-null float64

ACT_TIME_AERATEUR_1_F7 7 non-null float64

ACT_TIME_AERATEUR_1_F8 7 non-null float64

dtypes: float64(6)

memory usage: 392.0+ bytes

我尝试根据[‘day_of_week’]合并这两个数据帧,这是dfDepas数据帧中的索引.

我不知道该如何使用:merged_df = pd.merge(dfDepas,df7,how =’inner’,on = [‘day_of_week’])

有什么办法可以帮助我吗?

谢谢

亲切的问候

编辑

dfDepas

day_of_week P_ACT_KW P_SOUSCR depassement

Fri 157.258929 427.142857 0.0

Mon 157.788110 426.875000 0.0

Sat 166.989236 426.875000 0.0

Sun 149.676215 426.875000 0.0

Thurs 157.339286 427.142857 0.0

Tues 151.122913 427.016021 0.0

Weds 159.569444 427.142857 0.0

df7

ACT_TIME_AERATEUR_1_F1 ACT_TIME_AERATEUR_1_F3 ACT_TIME_AERATEUR_1_F5 ACT_TIME_AERATEUR_1_F6 ACT_TIME_AERATEUR_1_F7 ACT_TIME_AERATEUR_1_F8

Fri 0.326258 0.330253 0.791144 0.654682 3.204544 1.008550

Sat -0.201327 -0.228196 0.044616 0.184003 -0.579214 0.292886

Sun 5.068735 5.250199 5.407271 5.546657 7.823564 5.786713

Mon -0.587129 -0.559986 -0.294890 -0.155503 2.013379 -0.131496

Tues-1.244922 -1.510025 -0.788717 -1.098790 -0.996845 -0.718881

Weds-3.264598 -3.391776 -3.188409 -3.041306 -4.846189 -4.668533

Thurs -0.178179 0.011002 -1.907544 -2.084516 -6.119337

解决方法:

您可以使用reset_index并将列0重命名为day_of_week进行匹配:

merged_df = pd.merge(dfDepas,

df7.reset_index().rename(columns={0:'day_of_week'}),

on=['day_of_week'])

merged_df = pd.merge(dfDepas.set_index('day_of_week'),

df7,

right_index=True,

left_index =True)

标签:pandas,python,merge

来源: https://codeday.me/bug/20191118/2026926.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值