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

Tính độ dài phần tử mọi cột DataFrame bằng applymap Python

Giả sử bạn có DataFrame chứa chuỗi ký tự và muốn tính độ dài của từng phần tử trong toàn bộ DataFrame.

Giải pháp

  • Tạo DataFrame với cột kiểu string.
  • Sử dụng df.applymap(lambda x: len(str(x))) để áp dụng hàm len(str(x)) cho mỗi ô.

Mã ví dụ

import pandas as pd

df = pd.DataFrame({
    'Fruits': ["Apple", "Orange", "Mango", "Kiwi"],
    'City': ["Shimla", "Sydney", "Lucknow", "Wellington"]
})

print("DataFrame là:\n", df)
print("\nĐộ dài các phần tử:")
print(df.applymap(lambda x: len(str(x))))

Kết quả

DataFrame là:
   Fruits       City
0   Apple     Shimla
1  Orange     Sydney
2   Mango    Lucknow
3    Kiwi  Wellington

Độ dài các phần tử:
   Fruits  City
0       5     6
1       6     6
2       5     7
3       4    10

Giải thích:

  • applymap() áp dụng hàm cho mỗi phần tử (element-wise) của DataFrame.
  • lambda x: len(str(x)) chuyển giá trị thành chuỗi rồi lấy độ dài (an toàn cho cả số, NaN).
  • Khác với apply() (áp dụng cho hàng/cột) và map() (chỉ cho Series).