gpt4 book ai didi

excel - 如何从 Excel 中的整数列中过滤字符串以在 Python 中处理

转载 作者:行者123 更新时间:2023-12-04 20:28:03 27 4
gpt4 key购买 nike

我正在从 Excel 文件中抓取一些数据并在 python 中处理它。但是,列中的数据似乎有一些字符串,而我需要它们是整数。我正在尝试对数据进行排序,但它给了我错误,因为它正在尝试对字符串上的数字进行排序。

我正在尝试计算文件中每个年龄段犯下的谋杀案数量。

这是我这样做的代码。

xl = pd.ExcelFile('Murders.xlsx')
df = xl.parse('Sheet1')
#df = df[df["Perpetrator Age"].ne("Blanks")]
age = df['Perpetrator Age']

#print(df["Perpetrator Age"].dtype)
freq1 = collections.Counter(df['Perpetrator Age'].sort_values())
freq = [{'Perpetrator_Age': m, 'Freq': f} for m, f in freq1.items()]
file = open("MurderPerpAge.js", "w+")
file.write(json.dumps(freq))
file.close()

我尝试使用 Excel 中内置的过滤器按钮,但数据中似乎仍然存在字符串。这是错误/输出:

TypeError: '<' not supported between instances of 'int' and 'str'



我希望输出按年龄排序,如下例所示
[{"Perpetrator_Age": 15, "Freq": 5441}, {"Perpetrator_Age": 17, "Freq": 14196},...

最佳答案

我建议使用 pandas.astype('int16') 如下:

(int16 因为你正在处理年龄,它的范围非常有限)

df['Perpetrator Age'] = df['Perpetrator Age'].astype('int16')
df.sort_values(axis=0)

In [14]: df['Perpetrator Age'].astype('int16').sort_values(axis=0).head()
Out[14]:
83 15
62 15
64 15
27 15
48 17
Name: Perpetrator Age, dtype: int16

我希望它有帮助!

关于excel - 如何从 Excel 中的整数列中过滤字符串以在 Python 中处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56087179/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com