Saya memiliki daftar yang diisi dari file excel (impor ke pandas)

a=[df.math[0],df.bio[0],df.chemistry[0]]

Ketika saya melewati mean(a) itu memberi saya kesalahan berikut:

don't know how to coerce int64 and float64

Bagaimana memperbaikinya? Saya mencoba a=[float(df.math[0]),float(df.bio[0]),float(df.chemistry[0])] - tapi tetap tidak bisa

Menurut Anda apa masalahnya?

1
user12435585 15 Maret 2020, 10:30

1 menjawab

Jawaban Terbaik

Saya pikir di sini yang paling sederhana adalah menggunakan numpy.mean:

x = np.mean(a)

Contoh:

 df = pd.DataFrame({
        'A':list('abcdef'),
         'math':[4,5,4,5,5,4],
         'chemistry':[7.3434,8,9,4,2,3],
         'bio':[1,3,5,7,1,0],
         'E':[5,3,6,9,2,4],
         'F':list('aaabbb')
})

x = np.mean(a)
print (x) 
4.114466666666666

Solusi panda:

x = df.loc[0, ['math','bio','chemistry']].mean()
print (x) 
4.114466666666666

Juga bagi saya yang bekerja mengubah semua nilai menjadi float:

import statistics 

a = [float(df.math[0]),float(df.bio[0]),float(df.chemistry[0])]
x = statistics.mean(a)
print (x) 
4.114466666666667

import statistics 

a = [float(x) for x in a]
x = statistics.mean(a)
print (x) 
4.114466666666667
1
jezrael 15 Maret 2020, 07:35