Saya memiliki df yang terlihat seperti ini

    ip  date    destination_bytes   source_bytes
                 count  max mean    min sum count   max mean    min sum
0   10.0.0.1    2020-11-13 13:57:00 3   3   2.0 1   6   3   5   2.666667    1   8
1   10.0.0.1    2020-11-13 13:59:00 0   0   0.0 0   0   0   0   0.000000    0   0
2   10.0.0.1    2020-11-13 14:01:00 1   2   2.0 2   2   1   1   1.000000    1   1

Yang menghasilkan nama kolom sebagai tupel yaitu ('ip',''),('date',''),('destination_bytes','sum') bagaimana saya bisa mengubahnya menjadi string yang digabungkan? yaitu ip,date,destination_bytes_sum

1
Chris 19 November 2020, 15:44

1 menjawab

Jawaban Terbaik

Gunakan Index.map dengan strip:

df.columns = df.columns.map('_'.join).str.strip('_')

Atau dalam pemahaman daftar dengan f-strings:

df.columns = [f'{a}_{b}'.strip('_') for a, b in df.columns]

Alternatif dengan if-else:

df.columns = [f'{a}_{b}' if b != '' else a for a, b in df.columns]
2
jezrael 19 November 2020, 12:49