我有以下DataFrame:
preds geoLong geoLat
8 11 -78.949609 39.154228
9 11 -128.489609 38.154228
10 11 -48.48969 37.154228
我正在对一列(preds
)
gbr = df.groupby(['preds'])
当我执行以下操作时,我从该列中得到了错误的结果:
gbr.agg({'geoLong': 'max'})
答案 0 :(得分:2)
似乎你需要:
gbr.agg({'geoLong': 'max', 'geoLat':'min'})
但请先检查dtypes
以查看列geoLong
和geoLat
是否为数字:
print (df.dtypes)
preds object
geoLong object
geoLat object
dtype: object
如果有object
s(显然string
s),您需要解析它:
cols = ['geoLong','geoLat']
df[cols] = df[cols].astype(float)
如果由于数据错误而返回错误,请使用to_numeric
将所有错误数据替换为NaN
s:
ValueError:无法将字符串转换为float:'l'
cols = ['geoLong','geoLat']
df[cols] = df[cols].apply(pd.to_numeric, errors='coerce')