Hướng dẫn dùng value counts python

Tôi chỉ gặp phải vấn đề tương tự, vì vậy tôi cung cấp suy nghĩ của mình ở đây.

Cảnh báo

Khi bạn xử lý cấu trúc dữ liệu của Pandas, bạn phải biết về kiểu trả về .

Một giải pháp khác ở đây

Giống như @jezrael đã đề cập trước đây, Pandashãy cung cấp API pd.Series.to_frame.

Bước 1

Bạn cũng có thể hoàn thành pd.Seriesviệc pd.DataFramecần làm bằng cách

df_val_counts = pd.DataFrame(value_counts) # wrap pd.Series to pd.DataFrame

Sau đó, bạn có một pd.DataFramevới tên cột 'a'và cột đầu tiên của bạn trở thành chỉ mục

Input:  print(df_value_counts.index.values)
Output: [2 1]

Input:  print(df_value_counts.columns)
Output: Index(['a'], dtype='object')

Bước 2

Gì bây giờ?

Nếu bạn muốn thêm tên cột mới ở đây pd.DataFrame, bạn có thể chỉ cần đặt lại chỉ mục bằng API của reset_index () .

Và sau đó, thay đổi tên cột theo danh sách bằng API df.coloumns

df_value_counts = df_value_counts.reset_index()
df_value_counts.columns = ['unique_values', 'counts']

Sau đó, bạn có những gì bạn cần

Output:

       unique_values    counts
    0              2         3
    1              1         2

Câu trả lời đầy đủ tại đây

import pandas as pd

df = pd.DataFrame({'a':[1, 1, 2, 2, 2]})
value_counts = df['a'].value_counts(dropna=True, sort=True)

# solution here
df_val_counts = pd.DataFrame(value_counts)
df_value_counts_reset = df_val_counts.reset_index()
df_value_counts_reset.columns = ['unique_values', 'counts'] # change column names

17 hữu ích 0 bình luận chia sẻ