पंडों को कॉलम औसत / माध्य मिलता है


155

मुझे पंडों में एक कॉलम का औसत या मतलब नहीं मिल सकता है। A के पास डेटाफ्रेम है। नीचे जिन चीजों की मैंने कोशिश की, उनमें से मुझे कॉलम का औसत नहीं मिलाweight

>>> allDF 
         ID           birthyear  weight
0        619040       1962       0.1231231
1        600161       1963       0.981742
2      25602033       1963       1.3123124     
3        624870       1987       0.94212

निम्नलिखित कई मान देता है, एक नहीं:

allDF[['weight']].mean(axis=1)

तो यह करता है:

allDF.groupby('weight').mean()


df.groupby('weight')आप जो चाहते थे, वह नहीं था, क्योंकि यह df को अलग-अलग स्तंभों में विभाजित करता था, प्रत्येक का वजन अलग-अलग होता था। सिर्फ के बजायdf['weight'].mean()
smci

allDF। weight.mean ()
DataFramed

जवाबों:


267

यदि आप केवल weightकॉलम का मतलब चाहते हैं, तो कॉलम चुनें (जो एक श्रृंखला है) और कॉल करें .mean():

In [479]: df
Out[479]: 
         ID  birthyear    weight
0    619040       1962  0.123123
1    600161       1963  0.981742
2  25602033       1963  1.312312
3    624870       1987  0.942120

In [480]: df["weight"].mean()
Out[480]: 0.83982437500000007

1
और क्या होगा यदि मैं प्रत्येक स्तंभ का एक साधन प्राप्त करना चाहता हूं?
क्रिस

3
@ क्रिस df.describe ()
अभिषेक पूजारी

2
@ क्रिस df.mean () आपको प्रत्येक कॉलम का भार देता है और इसे एक श्रृंखला में लौटाता है।
emschorsch

24

कोशिश करें df.mean(axis=0), axis=0तर्क डेटाफ्रेम के कॉलम वार माध्य की गणना करता है , इसलिए परिणाम पंक्तिवार होगा, axis=1इसलिए आपको कई मान मिल रहे हैं।


13

print (df.describe())शॉट देने की कोशिश करो । मुझे उम्मीद है कि यह आपके डेटाफ्रेम का समग्र विवरण प्राप्त करने में बहुत मददगार होगा।


1
display(df.describe())बेहतर है (जुपिटर नोटबुक में) क्योंकि displayipython ASCII के बजाय स्वरूपित HTML प्रदान करता है, जो कि अधिक उपयोगी / मनभावन है।
ज़नवीन चेन

6

आप उपयोग कर सकते हैं

df.describe() 

आपको डेटाफ़्रेम के बुनियादी आंकड़े मिलेंगे और विशिष्ट कॉलम का मतलब निकालने के लिए जिसका आप उपयोग कर सकते हैं

df["columnname"].mean()

1
यह ऊपर वर्णित उत्तरों की एक डुप्लिकेट है।
मेहदी बूचेबा

6

आप डॉट नोटेशन (जिसे फीचर एक्सेस भी कहा जाता है) का उपयोग करके एक कॉलम एक्सेस कर सकते हैं और फिर उसके माध्य की गणना कर सकते हैं:

df.your_column_name.mean()

4

प्रत्येक स्तंभ के लिए माध्य df:

    A   B   C
0   5   3   8
1   5   3   9
2   8   4   9

df.mean()

A    6.000000
B    3.333333
C    8.666667
dtype: float64

और यदि आप सभी कॉलमों का औसत चाहते हैं:

df.stack().mean()
6.0

1

इसके अतिरिक्त यदि आप roundमूल्य को प्राप्त करना चाहते हैं mean

#Create a DataFrame
df1 = {
    'Subject':['semester1','semester2','semester3','semester4','semester1',
               'semester2','semester3'],
   'Score':[62.73,47.76,55.61,74.67,31.55,77.31,85.47]}
df1 = pd.DataFrame(df1,columns=['Subject','Score'])

rounded_mean = round(df1['Score'].mean()) # specified nothing as decimal place
print(rounded_mean) # 62

rounded_mean_decimal_0 = round(df1['Score'].mean(), 0) # specified decimal place as 0
print(rounded_mean_decimal_0) # 62.0

rounded_mean_decimal_1 = round(df1['Score'].mean(), 1) # specified decimal place as 1
print(rounded_mean_decimal_1) # 62.2

1

आप नीचे दिए गए दोनों कथनों में से किसी एक का उपयोग कर सकते हैं:

numpy.mean(df['col_name'])
# or
df['col_name'].mean()

कृपया, अपने उत्तर को उचित टिप्पणियों के साथ समृद्ध करें। अन्यथा इसे हटाने के लिए चिह्नित किए जाने की संभावना है
डॉन

0
You can easily followthe following code
    `import pandas as pd 
    import numpy as np 

    classxii = {'Name':['Karan','Ishan','Aditya','Anant','Ronit'],
        'Subject':['Accounts','Economics','Accounts','Economics','Accounts'],
        'Score':[87,64,58,74,87],
        'Grade':['A1','B2','C1','B1','A2']}
    df = pd.DataFrame(classxii,index = ['a','b','c','d','e'],columns=['Name','Subject','Score','Grade'])
    print(df)
    #use the below for mean if you already have a dataframe
print('mean of score is:')
print(df[['Score']].mean())

0

आप बस इसके लिए जा सकते हैं: df.describe () जो आपको आवश्यक सभी प्रासंगिक विवरण प्रदान करेगा, लेकिन किसी विशेष स्तंभ का न्यूनतम, अधिकतम या औसत मान (आपके मामले में 'वज़न' कहें), का उपयोग करने के लिए:

    df['weights'].mean(): For average value
    df['weights'].max(): For maximum value
    df['weights'].min(): For minimum value
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.