我在使用以下Pandas代码时遇到了一些困难:
groupby_obj = features.groupby('Feature')
print groupby_obj["Value"].max() # This works
print groupby_obj["Value"].min() # This works
print groupby_obj["Value"].mean() #This doesn't work
第三行出现以下错误:
DataError: No numeric types to aggregate
这看起来与this的错误相同,但答案并不容易理解。使用frame.astype(float)
对我来说不起作用,因为有些列是字符串。我可以做features[['Value']] = features[['Value']].astype(float)
但它看起来很乱(并且可能涉及不必要的复制操作)。
在实例化DataFrame时,有没有办法为某些列指定某些类型?或者是完全不同的方式来实现我想要做的事情?
答案 0 :(得分:2)
关于min/max
问题,请考虑strings
。您可以使用min/max
字符串(分别为小写字母,'a'
和'z'
),但mean
字符串没有任何意义。
另外,尝试将特定列(Value
)转换为float
,然后进行数学运算。