我认识了熊猫,遇到了一个我找不到答案的问题。
我正在使用https://raw.githubusercontent.com/Shreyas3108/house-price-prediction/master/kc_house_data.csv
处可用的数据集然后我正在运行函数df.describe()
,该函数将输出所有应有的内容而没有问题。
由于我目前仅对最小/最大的最小,最大和差异感兴趣。我正在使用pandas的df.agg
函数通过运行以下代码来获取每一列的最小值/最大值
df.agg([min, max],axis=0)
运行此命令时,出现错误:
~/.virtualenvs/cv/lib/python3.6/site-packages/pandas/core/base.py in _aggregate_multiple_funcs(self, arg, _level, _axis)
615 # if we are empty
616 if not len(results):
--> 617 raise ValueError("no results")
618
619 try:
ValueError: no results
当df.describe()
能够找到每一列的最小值/最大值而没有问题时,我不确定为什么会出现此错误。我一直在寻找空白和NaN值,也在寻找字符串以查看它们是否产生了问题,而我的数据似乎没有它们。
如果能指出我要去哪里的地方,我将不胜感激。
答案 0 :(得分:0)
问题可能不在于df.agg
,而在于df
本身。您可以先致电df
,然后再致电df.agg
,看看它是否确实包含数据。
答案 1 :(得分:0)
我尝试了下面的代码,并且能够成功完成您在问题中提到的内容。
df = pd.read_csv('https://raw.githubusercontent.com/Shreyas3108/house-price-prediction/master/kc_house_data.csv')
df = df.agg([min, max]).T
CLM = ['max', 'min']
df = (df.drop(CLM, axis=1)
.join(df[CLM].apply(pd.to_numeric, errors='coerce')))
df = num_df[num_df[CLM].notnull().all(axis=1)]
df['Diff'] = df['max'] - df['min']
df
请尝试一下,让我知道这是否适合您。