我正在尝试按国家/地区汇总整列,但是当我使用
my_df.groupby('COUNTRY').VALUES.mean()
它抛出一个
DataError: No numeric types to aggregate
当我使用
my_df.groupby('COUNTRY').VALUES.sum()
它会产生非常大的值,这些值与实际情况相去甚远(也许是通过将它们作为字符串添加在一起?)
是将列中的值解释为字符串,还是我以错误的方式使用该函数?
我正在尝试完全按照1:45 https://www.youtube.com/watch?v=qy0fDqoMJx8
的要求完成此人的操作即“值”列包含我想按每个国家求和的整数。
答案 0 :(得分:0)
该列中的值被解释为字符串,它们说明了如何在此问题中转换数据类型
答案 1 :(得分:0)
我了解您正在尝试对国家/地区进行计数,但是尚不清楚您是否要对国家/地区进行计数,或者是基于另一个变量:
尝试:
Error in eigen(w, symmetric = TRUE) : infinite or missing values in 'x'
In addition: Warning message:
In complete(x.tre) : NAs introduced by coercion
在同一列中,或者总和基于另一个变量:
my_df['COUNTRY'].value_counts()
您的问题不清楚,您应该显示数据框
答案 2 :(得分:0)
在执行任何计算之前,您需要将VALUES
系列转换为数字类型。例如,要转换为整数:
# convert to integers, non-convertible values will become NaN
my_df['VALUES'] = pd.to_numeric(my_df['VALUES'], downcast='integer', errors='coerce')
# perform groupby as normal
grouped = my_df.groupby('COUNTRY')['VALUES'].mean()