Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Nối hai Series pandas không lặp lại index

Mô tả bài toán

Cho hai Series:

Series 1:    Series 2:
0  1          0  4
1  2          1  5
2  3          2  6

Yêu cầu: Nối chúng thành một Series duy nhất với index được reset liên tục (0,1,2,3,4,5).

Kết quả mong đợi

0    1
1    2
2    3
3    4
4    5
5    6
dtype: int64

Giải pháp

Sử dụng pd.concat() với tham số ignore_index=True.

Ví dụ code hoàn chỉnh

import pandas as pd

series_one = pd.Series([1,2,3])
series_two = pd.Series([4,5,6])

print("Series 1:")
print(series_one)
print("\nSeries 2:")
print(series_two)

# Nối và reset index
result = pd.concat([series_one, series_two], ignore_index=True)
print("\nKết quả sau khi nối (ignore_index=True):")
print(result)

# So sánh: nếu không dùng ignore_index
print("\nNếu KHÔNG dùng ignore_index:")
print(pd.concat([series_one, series_two]))

Đầu ra

Series 1:
0    1
1    2
2    3
dtype: int64

Series 2:
0    4
1    5
2    6
dtype: int64

Kết quả sau khi nối (ignore_index=True):
0    1
1    2
2    3
3    4
4    5
5    6
dtype: int64

Nếu KHÔNG dùng ignore_index:
0    1
1    2
2    3
0    4
1    5
2    6
dtype: int64

Lưu ý: ignore_index=True tạo index mới 0..n-1. Nếu muốn giữ index gốc nhưng tránh trùng lặp, có thể dùng verify_integrity=True (sẽ báo lỗi nếu index trùng).