Giả sử bạn tạo DataFrame 10 hàng, 2 cột chứa nguyên âm ngẫu nhiên, sau đó tìm các hàng mà 2 cột có cùng giá trị và đếm số lượng.
Giải pháp
- Tạo DataFrame:
np.random.choice(['a','e','i','o','u'], 10)cho 2 cột. - Tìm hàng khớp:
df.iloc[np.where(df.col1 == df.col2)]. - Đếm:
len(...).
Mã ví dụ
import pandas as pd
import numpy as np
np.random.seed(42) # để tái lập kết quả
df = pd.DataFrame({
'col1': np.random.choice(['a','e','i','o','u'], 10),
'col2': np.random.choice(['a','e','i','o','u'], 10)
})
print("DataFrame:\n", df)
matched = df.iloc[np.where(df.col1 == df.col2)]
print("\nCác hàng khớp (col1 == col2):\n", matched)
print("Số lượng:", len(matched))
Kết quả (với seed=42)
DataFrame: col1 col2 0 o e 1 e e 2 i u 3 e o 4 i i 5 u o 6 e a 7 u o 8 a u 9 e a Các hàng khớp (col1 == col2): col1 col2 1 e e 4 i i Số lượng: 2
Giải thích:
np.where(condition)trả về tuple indices thỏa mãn.df.iloc[indices]lấy các hàng tương ứng.- Cách khác:
df[df.col1 == df.col2](boolean indexing) đơn giản hơn.