Python 需要函数源代码从数据帧获取数据;要细化平均中值和模式

Python 需要函数源代码从数据帧获取数据;要细化平均中值和模式,python,pandas,Python,Pandas,试图从数据帧中导出平均值、中值和模式。我需要知道如何在函数中编写源代码,而不是“:” source=[df.DMC] import pandas as pd import nltk df.head(4) # This is the print out of the dataframe # When I came up with this code, the source was # source=[3,4,6,4,7,2,6,7,...] # But now I need to get th

试图从数据帧中导出平均值、中值和模式。我需要知道如何在函数中编写源代码,而不是“:”

source=[df.DMC]

import pandas as pd
import nltk

df.head(4)
# This is the print out of the dataframe 
# When I came up with this code, the source was
# source=[3,4,6,4,7,2,6,7,...]
# But now I need to get the data from a dataFrame. 
#   X   Y   month   day   DMC    RH
# 0 7   5   3       fri   26.2   94.3
# 1 7   4   10      tue   90.6   35.4
# 2 6   6   12      mon   56.8   99.2
# this is just a sample

#This is the code to find the mean median and mode

source = [df:'DMC']  #This is were I need your help.
def meanmedianmode (source):
    mmm = {'mean': Mean(source), 'median': Median(source), 'mode':
            Mode(source) }
def Mean (source):
    mean = reduce(lambda x,y: x+y, numbers)/len(source)
    return mean

def Median(source):
    median = numpy.median(source)
    return(median)

def Mode (source):
    mode = statistics.mode(source)
    return mode
    return mmm
print("mean median mode" + str(meanmedianmode(source)))

要回答您的特定问题,要选择
pandas
dataframe的特定列,您可以使用以下语法

source = df.DMC 

但是,您不必费心实现自己的函数来查找均值、中值和模式。谢天谢地,
pandas
已经包含了这三个功能。在
文档下检查。
解决方案非常简单

In [6]: df = pd.DataFrame({'X':[7,7,6], 'DMC':[26.2, 90.6, 56.8]})

In [7]: df
Out[7]:
    DMC  X
0  26.2  7
1  90.6  7
2  56.8  6

In [8]: df.DMC.mean()
Out[8]: 57.86666666666667

In [9]: df.DMC.median()
Out[9]: 56.8

In [10]: df.DMC.mode()
Out[10]:
0    26.2
1    56.8
2    90.6
dtype: float64

要回答您的特定问题,要选择
pandas
dataframe的特定列,您可以使用以下语法

source = df.DMC 

但是,您不必费心实现自己的函数来查找均值、中值和模式。谢天谢地,
pandas
已经包含了这三个功能。在
文档下检查。
解决方案非常简单

In [6]: df = pd.DataFrame({'X':[7,7,6], 'DMC':[26.2, 90.6, 56.8]})

In [7]: df
Out[7]:
    DMC  X
0  26.2  7
1  90.6  7
2  56.8  6

In [8]: df.DMC.mean()
Out[8]: 57.86666666666667

In [9]: df.DMC.median()
Out[9]: 56.8

In [10]: df.DMC.mode()
Out[10]:
0    26.2
1    56.8
2    90.6
dtype: float64

您可能需要检查:。您可能需要检查:。感谢Unni以两种语法提供了快速正确的响应。虽然以前使用source=[3,4,6,4,7,2,6,7,…]时,输出是平均-中值模式{'mean':7.533333,'median':8.0,'mode':11}。现在它有一个不寻常的输出:“mean medianodenone”。没有,一定是说没有真正的平均媒介或模式输出,只有文本。使用“导入熊猫”、“导入统计信息”和“导入numpy”。你能帮我吗?或者我应该开始一个关于stackoverflow的新问题吗?你是如何使用均值和中位数的?这应该有效
mmm={'mean':df.DMC.mean(),'median':df.DMC.median()}
。模式很棘手,因为可能有多个值。您应该考虑如何将其包括在解决方案中。谢谢您。我用调整后的代码得到了相同的结果。“meanmedianmodeNone”。我删除了“source=df1['DMC']”语句,得到了相同的结果,没有“meanmedianmodeNone”。听起来好像代码中没有数据。我不太明白这个问题。如果你认为这个问题与此不同,你介意更新这个问题还是开始一个新的问题?乌尼,谢谢你的努力。我将开始一个新的问题。感谢Unni以两种语法快速正确地回答。虽然以前使用source=[3,4,6,4,7,2,6,7,…]时,输出是平均-中值模式{'mean':7.533333,'median':8.0,'mode':11}。现在它有一个不寻常的输出:“mean medianodenone”。没有,一定是说没有真正的平均媒介或模式输出,只有文本。使用“导入熊猫”、“导入统计信息”和“导入numpy”。你能帮我吗?或者我应该开始一个关于stackoverflow的新问题吗?你是如何使用均值和中位数的?这应该有效
mmm={'mean':df.DMC.mean(),'median':df.DMC.median()}
。模式很棘手,因为可能有多个值。您应该考虑如何将其包括在解决方案中。谢谢您。我用调整后的代码得到了相同的结果。“meanmedianmodeNone”。我删除了“source=df1['DMC']”语句,得到了相同的结果,没有“meanmedianmodeNone”。听起来好像代码中没有数据。我不太明白这个问题。如果你认为这个问题与此不同,你介意更新这个问题还是开始一个新的问题?乌尼,谢谢你的努力。我将开始一个新问题。