一
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