gpt4 book ai didi

python - 有没有办法在 Pandas 中分类数据?

转载 作者:行者123 更新时间:2023-12-02 16:50:22 25 4
gpt4 key购买 nike

我有一个数据框,其中一列是美国各州。我想创建一个新列并根据区域对州进行分箱,即南部、西南等。看起来 pd.cut 仅用于连续变量,因此以这种方式分箱似乎不是一种选择。有没有一种好方法可以创建一个以另一列中的分类数据为条件的列?

最佳答案

import pandas as pd

def label_states (row):
if row['state'] in ['Maine', 'New Hampshire', 'Vermont', 'Massachusetts', 'Rhode Island', 'Connecticut', 'New York', 'Pennsylvania', 'New Jersey']:
return 'north-east'
if row['state'] in ['Wisconsin', 'Michigan', 'Illinois', 'Indiana', 'Ohio', 'North Dakota', 'South Dakota', 'Nebraska', 'Kansas', 'Minnesota', 'Iowa', 'Missouri']:
return 'midwest'
if row['state'] in ['Delaware', 'Maryland', 'District of Columbia', 'Virginia', 'West Virginia', 'North Carolina', 'South Carolina', 'Georgia', 'Florida', 'Kentucky', 'Tennessee', 'Mississippi', 'Alabama', 'Oklahoma', 'Texas', 'Arkansas', 'Louisiana']:
return 'south'
return 'etc'

df = pd.DataFrame([{'state':"Illinois", 'data':"aaa"}, {'state':"Rhode Island",'data':"aba"}, {'state':"Georgia",'data':"aba"}, {'state':"Iowa",'data':"aba"}, {'state':"Connecticut",'data':"bbb"}, {'state':"Ohio",'data':"bbb"}])

df['label'] = df.apply(lambda row: label_states(row), axis=1)

df

The output:

关于python - 有没有办法在 Pandas 中分类数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59004206/

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