按一列的子字符串对Pandas Dataframe进行排序

IamTheWalrus:

给定一个DataFrame:

    name             email
0   Carl    [email protected]
1    Bob     [email protected]
2  Alice   [email protected]
3  David  [email protected]
4    Eve     [email protected]

如何根据电子邮件的域名(按字母顺序,升序)对邮件进行排序,然后在每个域组中根据“ @”之前的字符串对邮件进行排序?

上面的排序结果应为:

    name             email
0    Bob     [email protected]
1    Eve     [email protected]
2  David  [email protected]
3  Alice   [email protected]
4   Carl    [email protected]
cs95:

选项1
sorted +reindex

df = df.set_index('email')
df.reindex(sorted(df.index, key=lambda x: x.split('@')[::-1])).reset_index()

              email   name
0     [email protected]    Bob
1     [email protected]    Eve
2  [email protected]  David
3   [email protected]  Alice
4    [email protected]   Carl

选项2
sorted + pd.DataFrame
或者,您可以reindex通过重新创建新的DataFrame来放弃选项1中呼叫。

pd.DataFrame(
    sorted(df.values, key=lambda x: x[1].split('@')[::-1]), 
    columns=df.columns
)

    name             email
0    Bob     [email protected]
1    Eve     [email protected]
2  David  [email protected]
3  Alice   [email protected]
4   Carl    [email protected]

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Pandas Dataframe-当日期是元素的子字符串时,按日期对列表元素进行排序

Pandas DataFrame 对每一列进行排序

在DataFrame中对列进行排序

根据一列的排序对多个Pandas Dataframe列进行排序

在Pandas DataFrame中首先对包含字符串的列进行排序

按另一个数据框中的一列对pandas DataFrame进行排序-Pandas

如何对 Dataframe 中的 2 列进行排序,一列按降序排序,另一列按对应于第一列的字母顺序排序

仅对awk中的第一列进行子字符串化

使用另一列中的字符串比较和更新pandas dataframe列列表

在Pandas DataFrame中解析列,其中一列包含嵌套的JSON字符串

Pandas DataFrame:使用列值将字符串切成另一列

根据列值对 Pandas Dataframe 进行排序

对Pandas Dataframe列中的列表进行排序

在Pandas DataFrame中对列进行排序

如何将字符串从pandas DataFrame的一列插入特定索引的另一列?

如何根据postgresql中的另一列对字符串聚合进行排序?

根据一列对表进行排序,其中字符串与bash中的数字混合

按字符对字符串进行排序

将Pandas DataFrame行合并为一列中的字符串

按同一列的两个子字符串排序,只有一个反向

按特定顺序对Pandas DataFrame中的列进行排序

按列中的名称对pandas DataFrame中的数据进行排序

在 Pandas DataFrame 中按逗号数对列进行排序

按多列和重复索引对pandas DataFrame进行排序

按MultiIndex的一级对pandas DataFrame进行排序

在Pandas Dataframe中按一列排序,然后按另一列分组?

按包含字符串的列之一对Julia 1.1矩阵进行排序

按任意数量的子字符串对字符串数组进行排序

熊猫索引 - 按数字子字符串对字符串索引进行排序