pandas 如何在数据集上使用中值用户定义函数

efzxgjgh  于 2023-01-19  发布在  其他
关注(0)|答案(1)|浏览(93)
def func_median(n_num):
    
    #n_num = [1, 2, 3, 4, 5]
    n = len(n_num)
    
    n_num.sort() 
    if n % 2 == 0:
        median1 = n_num[n//2]
        median2 = n_num[n//2 - 1]
        median = (median1 + median2)/2
    else:
        median = n_num[n//2]
    print("Median is: " + str(median))
func_median([10.0,20.0,30.5,40.0])
Median is: 25.25 #working fine

在将其应用于数据集时,会引发错误

new_df_housing['median_income']=new_df_housing['median_income'].apply(func_median)

错误-类型错误:类型为“float”的对象没有len()

数据集-

wvt8vs2t

wvt8vs2t1#

我认为你正在使用Pandas,有一个更简单的方法来获得一个特定列的中值。尝试:

median_income = df['median_income'].median()
print(median_income)

让我知道它是否有效,希望它有帮助!

相关问题