Vì một lý do nào đó, tôi không thể hợp nhất để hoạt động chính xác.Dataframe Merge in Pandas
Dataframe này (rspars) có 2.000+ hàng ...
rsparid f1mult f2mult f3mult
0 1 0.318 0.636 0.810
1 2 0.348 0.703 0.893
2 3 0.384 0.777 0.000
3 4 0.296 0.590 0.911
4 5 0.231 0.458 0.690
5 6 0.275 0.546 0.839
6 7 0.248 0.486 0.731
7 8 0.430 0.873 0.000
8 9 0.221 0.438 0.655
9 11 0.204 0.399 0.593
Khi cố gắng tham gia ở trên để một bảng dựa trên rsparid
cột để Dataframe này ...
line_track line_race rsparid
line_date
2013-03-23 TP 10 1400
2013-02-23 GP 7 634
2013-01-01 GP 7 1508
2012-11-11 AQU 5 96
2012-10-11 BEL 2 161
Sử dụng ...
df = pd.merge(datalines, rspars, how='left', on='rsparid')
Tôi nhận được khoảng trống ..
line_track line_race rsparid f1mult f2mult f3mult
0 TP 10 1400 NaN NaN NaN
1 TP 10 1400 NaN NaN NaN
2 TP 10 1400 NaN NaN NaN
3 GP 7 634 NaN NaN NaN
4 GP 10 634 NaN NaN NaN
Lưu ý, cột "datalines" có thể có hàng nghìn hàng hơn so với rspars, do đó kết nối bên trái. Tôi phải làm việc gì đó sai lầm?
Tôi cũng đã cố gắng nó theo cách này ...
df = datalines.merge(rspars, how='left', on='rsparid')
VÍ DỤ # 2
Anh đã đánh rơi những dữ liệu xuống một vài dòng ...
rspars:
rsparid f1mult f2mult f3mult
0 1400 0.216 0.435 0.656
datalines:
rsparid
0 1400
1 634
2 1508
3 96
4 161
5 1011
6 1007
7 518
8 1955
9 678
sáp nhập ...
datalines.merge(rspars, how='left', on='rsparid')
Output ...
rsparid f1mult f2mult f3mult
0 1400 NaN NaN NaN
1 634 NaN NaN NaN
2 1508 NaN NaN NaN
3 96 NaN NaN NaN
4 161 NaN NaN NaN
5 1011 NaN NaN NaN
6 1007 NaN NaN NaN
7 518 NaN NaN NaN
8 1955 NaN NaN NaN
9 678 NaN NaN NaN
Bạn có thể hiển thị một chút dữ liệu 'datalines' không? –
Biểu dữ liệu được hiển thị đầu tiên là rspars. Bảng dữ liệu có hàng chục trường trong đó một trường là rsparid. – TravisVOX
Tôi đã thêm một số thông tin khác để làm rõ. – TravisVOX