idxmax函数在panda中不起作用.degrees-that-pay-back.csv


import pandas as pd
df = pd.read_csv('degrees-that-pay-back.csv')
clean_df = df.dropna()
clean_df['Starting Median Salary'].idxmax()

TypeError Traceback(最后一次调用(在((---->1 clean_df["开始薪资中位数"].idxmax((

1帧/f中的/usr/local/lib/python3.7/dist-packages/pandas/core/nanops.py(*args,**kwargs(65 f_name=f.name.替换("nan","(66提升类型错误(--->67f";不允许对此数据类型执行缩减操作"{f_name}";68(69次尝试:

TypeError:不允许对此数据类型执行缩减操作"argmax">

错误消息TypeError意味着您传递给idxmax((的数据类型是错误的类型。

idxmax((适用于数值,如果您查看数据帧df.info()的数据类型,您会发现"Starting Middle Salary"的数据类型是一个对象,即pandas表示字符串(通常(。您需要将数据类型转换为数字类型,例如float。

您可以通过删除"$"符号来完成此操作

df['Starting Median Salary'].replace(r'[$]', '', regex=True)

删除值中的逗号

df['Starting Median Salary'].replace(r'[,]', '', regex=True)

最后将数据类型强制转换为浮点

df['Starting Median Salary'].astype('float')

现在idxmax((应该可以工作了。

最新更新