ทั้งสองjoin()
และconcat()
วิธีที่จะแก้ปัญหา อย่างไรก็ตามมีคำเตือนอย่างหนึ่งที่ฉันต้องพูดถึง: รีเซ็ตดัชนีก่อนคุณjoin()
หรือconcat()
หากคุณพยายามจัดการกับกรอบข้อมูลบางส่วนโดยเลือกแถวบางแถวจาก DataFrame อื่น
ตัวอย่างด้านล่างแสดงพฤติกรรมที่น่าสนใจของการเข้าร่วมและการเชื่อมต่อ:
dat1 = pd.DataFrame({'dat1': range(4)})
dat2 = pd.DataFrame({'dat2': range(4,8)})
dat1.index = [1,3,5,7]
dat2.index = [2,4,6,8]
print(dat1.join(dat2))
dat1 dat2
1 0 NaN
3 1 NaN
5 2 NaN
7 3 NaN
print(pd.concat([dat1,dat2],axis=1))
dat1 dat2
1 0.0 NaN
2 NaN 4.0
3 1.0 NaN
4 NaN 5.0
5 2.0 NaN
6 NaN 6.0
7 3.0 NaN
8 NaN 7.0
dat1 = dat1.reset_index(drop=True)
dat2 = dat2.reset_index(drop=True)
print(dat1.join(dat2))
dat1 dat2
0 0 4
1 1 5
2 2 6
3 3 7
print(pd.concat([dat1,dat2],axis=1))
dat1 dat2
0 0 4
1 1 5
2 2 6
3 3 7
join
วิธีนี้หรือไม่?