gpt4 book ai didi

python - 如何使用 pandas 库对 python 中的浮点值进行分类

转载 作者:行者123 更新时间:2023-11-28 22:36:08 25 4
gpt4 key购买 nike

` 导入 Pandas 导入 numpy

#importing the dataset
data=pandas.read_csv('gapminder.csv',low_memory=False)

#setting variables to be worked with to numeric
data['urbanrate']=data['urbanrate'].convert_objects(convert_numeric=True)
data['femaleemployrate']=data['femaleemployrate'].convert_objects(convert_numeric=True)
data['lifeexpectancy']=data['lifeexpectancy'].convert_objects(convert_numeric=True)

print("Count for urbanrate")
chk8=data['urbanrate'].value_counts(sort=False,dropna=False)
print(chk8)

sub1=data[['urbanrate','femaleemployrate','lifeexpectancy']]
print (sub1.head(25))

===========================================================================
def urban (row):
if (row['urbanrate']<25.0):
return 1
if (data[['urbanrate']>=25.0 & data['urbanrate']<75.0]):
return 2
if (data['urbanrate']>75.0):
return 3
sub1['urban']=sub1.apply(lambda row: urban (row),axis=1)
print (sub1.head(25))
============================================================================`

我想对 urbanrate 的所有值进行分类(都是 float ,如 24.5688.9877.65)分为 3 个不同的类别(一个是 <25 的值,另一个是 >=25 and <75,最后一个是 >=75)并存储这些值在一个新变量中(比如城市)。我怎样才能做到这一点?我已经给出了我的代码。我执行了它,它给我的错误是:

TypeError: ('cannot compare a dtyped [float64] array with a scalar of type [bool]', 'occurred at index 1'))

请帮帮我

最佳答案

我想你可以使用 pd.cut :

import pandas as pd

df = pd.DataFrame({'urbanrate':[10,20,25,30,40,75,80,100]})
print (df)
urbanrate
0 10
1 20
2 25
3 30
4 40
5 75
6 80
7 100

bins = [0, 24.999, 74.999, 1000]
group_names = [1,2,3]
df['urban'] = pd.cut(df['urbanrate'], bins, labels=group_names)
print (df)
urbanrate urban
0 10 1
1 20 1
2 25 2
3 30 2
4 40 2
5 75 3
6 80 3
7 100 3

关于python - 如何使用 pandas 库对 python 中的浮点值进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37724225/

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