在熊猫数据框中按字母顺序排序

斯克拉尔

我有一个数据框

Counties                        Numbers
Yabucoa Municipio, Puerto Rico  7766
Marion County, West Virginia    8756
Barbour County, Alabama         33445
Santa Cruz County, Arizona      447
Navajo County, Arizona          1500
Denver County, Colorado         67990

我试图以一种方式排序,以便州名按字母顺序排序,县名在州内内部排序

Counties                        Numbers
Barbour County, Alabama         33445
Navajo County, Arizona          1500
Santa Cruz County, Arizona      447
Denver County, Colorado         67990
Yabucoa Municipio, Puerto Rico  7766
Marion County, West Virginia    8756

数据框代码:

df_test = pd.DataFrame([
    {'Counties': 'Yabucoa Municipio, Puerto Rico','Numbers': 7766},
    {'Counties': 'Marion County, West Virginia','Numbers': 8756},
    {'Counties': 'Barbour County, Alabama','Numbers': 33445},
    {'Counties': 'Santa Cruz County, Arizona','Numbers': 447},
    {'Counties': 'Navajo County, Arizona','Numbers': 1500},
    {'Counties': 'Denver County, Colorado','Numbers': 67990}
])

我已经尝试使用sortsplit代码,但它没有提供所需的输出

df_test['Counties'] = df_test['Counties'].apply(lambda x: ','.join(sorted(x.split(','))))

应该做什么?请帮忙。谢谢!

低的

这种方法可能是以下几点:

df = pd.DataFrame(
    [
        {"Counties": "Yabucoa Municipio, Puerto Rico", "Numbers": 7766},
        {"Counties": "Marion County, West Virginia", "Numbers": 8756},
        {"Counties": "Barbour County, Alabama", "Numbers": 33445},
        {"Counties": "Santa Cruz County, Arizona", "Numbers": 447},
        {"Counties": "Navajo County, Alabama", "Numbers": 1500},
        {"Counties": "Denver County, Colorado", "Numbers": 67990},
    ]
)

然后创建一个键来重新排序:

re_order_key = (
    df["Counties"]
    .str.split(",", expand=True)
    .rename(columns={0: "county", 1: "state"})
    .sort_values(by=["state", "county"])
)

将此索引与 iloc 一起使用:

df.iloc[re_order.index, :].reset_index(drop=True)

这使:

                         Counties  Numbers
0         Barbour County, Alabama    33445
1          Navajo County, Alabama     1500
2      Santa Cruz County, Arizona      447
3         Denver County, Colorado    67990
4  Yabucoa Municipio, Puerto Rico     7766
5    Marion County, West Virginia     8756

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在熊猫数据框中以不按字母顺序的方式对行进行排序

按字母顺序对Pandas数据框中的数据进行排序

按字母顺序排序熊猫数据帧中列的子集

按索引对大熊猫数据框进行排序,然后按字母顺序排序

熊猫:创建数据框时不按字母顺序自动排序列名

按字母顺序对熊猫数据框进行排序不起作用

按字母顺序按组重新排序数据框

在数据框python的每一行中按字母顺序对单词进行排序

在Pandas数据框列中按字母顺序排序和分组

按组对熊猫数据框排序并保持所需顺序

数据框(熊猫)中的排序/字母排序列

如何在pandas数据框中对字符串列进行排序,在其中强制按该列排序的字母顺序?

按字母顺序对组合框进行排序

如何)排序使用.stream在库数据中按字母顺序(

按字母顺序对结构中的数据进行排序

从熊猫数据框中绘制按时间顺序排序的数据

如何按字母顺序按索引值对数据框的列进行排序

熊猫数据框按特定列中的值顺序过滤

在R中按字母顺序对全名排序

在Rails中按字母顺序排序

按字母顺序排序

按字母顺序排序

按字母顺序排序

如何对由因子组成的合并数据框和按字母顺序排序的x轴进行ggplot?

按字母顺序对数据表进行字母排序,然后按R中的数字值排序

熊猫数据框按顺序分组

熊猫按包含数字和字母的列对数据框进行排序

熊猫数据框按日期排序,然后分配字母AZ

如何使用自定义模型类按节按字母顺序对tableView中的数据排序?