Ada beberapa kategori di kolom Doc_type, saya ingin menghitung nilai rata-rata menggunakan kolom yang dipilih untuk setiap kategori dan menambahkan kategori kembali ke kerangka data. Alih-alih memiliki semua catatan dari DataFrame asli, saya hanya ingin memiliki satu baris untuk setiap kategori yang berisi nilai rata-rata untuk kolom yang dipilih dalam kerangka data

for name in sample.Doc_type.unique():
    df_mean = sample[sample.Doc_type == name][
        [
            "total_tokens_per_doc",
            "valid_token_percentage",
            "special_chars_percentage",
            "numeric_values_percentage",
        ]
    ].median()
    print(df_mean)
Results:
total_tokens_per_doc         64.000000
valid_token_percentage        0.590551
special_chars_percentage      0.122449
numeric_values_percentage     0.340000
dtype: float64
total_tokens_per_doc         69.000000
valid_token_percentage        0.595376
special_chars_percentage      0.107143
numeric_values_percentage     0.316327
dtype: float64
total_tokens_per_doc         48.000000
valid_token_percentage        0.656250
special_chars_percentage      0.133333
numeric_values_percentage     0.250000
dtype: float64
total_tokens_per_doc         37.000000
valid_token_percentage        0.651685
special_chars_percentage      0.142857
numeric_values_percentage     0.242424
dtype: float64
total_tokens_per_doc         2.0
valid_token_percentage       0.5
special_chars_percentage     0.0
numeric_values_percentage    0.0
0
one_random_python_learner 14 Mei 2021, 03:32

2 jawaban

Jawaban Terbaik

Anda dapat menggunakan grup menurut:

columns = ['Doc_type',
           "total_tokens_per_doc",
           "valid_token_percentage",
           "special_chars_percentage",
           "numeric_values_percentage"]

df_mean = sample[columns].groupby('Doc_type').median()
0
Arne 14 Mei 2021, 00:49

Mari kita asumsikan di sini adalah data Sampel Anda:

sample = pd.DataFrame({'a':[1,2,3,4],'b':[4,5,6,7], 'c':[8,9,7,6]})

Kemudian nilai rata-rata untuk kolom yang dipilih:

sample[['a','b']].mean()

Contoh Keluaran:

a    2.5
b    5.5
dtype: float64
0
Yashwant Rautela 14 Mei 2021, 00:40