如何使用python根据同一数据框中另一列的值对数据框中列中的值进行排序

巴斯特3650

我需要根据同一数据帧中另一列的值对数据帧上一列中的值进行升序排序。我做的第一件事是执行“选择”查询以从我们的表中检索所有数据并将其存储在名为“df”的数据框中:

def from_econtable_search_virk():
    engine = create_engine(f'postgresql+psycopg2://{username}:{password}@{server}:5432/{database}')
    df = pd.read_sql_query('select * from {table}', con=engine)

当我打印数据帧 df 时,我收到如下所示的输出:

     number   name        address         city           token
0    1        Alarm       oxstreet 12     Reading        eng
1    3        Center      examstreet 24   Bristol        JOC
2    2        Computer    pentaroad 4     Oxford         eng
3    3        Music       thisstreet 2    London         eng
4    4        School      schoolroad 45   London         eng
5    1        Hospital    madstreet 24    Manchester     Owx
6    2        Bowling     placestreet 5   Birmingham     Owx
7    1        Hotel       cemstreet 24    Liverpool      JOC
8    2        Paintball   shootstreet 2   Manchester     JOC
9    4        Computer    comproad 24     Brigthon       JOC

然后我需要对数据框 df 做的是首先根据列表(而不是按字母顺序)对标记进行排序。

list = ['eng', 'Owx', 'JOC']

这应该使数据帧 df 如下所示:

     number   name        address         city           token
0    1        Alarm       oxstreet 12     Reading        eng
1    2        Computer    pentaroad 4     Oxford         eng
2    3        Music       thisstreet 2    London         eng
3    4        School      schoolroad 45   London         eng
4    1        Hospital    madstreet 24    Manchester     Owx
5    2        Bowling     placestreet 5   Birmingham     Owx
6    1        Hotel       cemstreet 24    Liverpool      JOC
7    2        Paintball   shootstreet 2   Manchester     JOC
8    4        Computer    comproad 24     Brigthon       JOC
9    3        Center      examstreet 24   Bristol        JOC

最后,数字列中的值必须根据标记以升序方式排序,数据帧最终将如下所示:

     number   name        address         city           token
0    1        Alarm       oxstreet 12     Reading        eng
1    2        Computer    pentaroad 4     Oxford         eng
2    3        Music       thisstreet 2    London         eng
3    4        School      schoolroad 45   London         eng
4    1        Hospital    madstreet 24    Manchester     Owx
5    2        Bowling     placestreet 5   Birmingham     Owx
6    1        Hotel       cemstreet 24    Liverpool      JOC
7    2        Paintball   shootstreet 2   Manchester     JOC
8    3        Center      examstreet 24   Bristol        JOC
9    4        Computer    comproad 24     Brigthon       JOC
科拉连

token转换为分类 dtype 并按tokenthen对值进行排序number

cats = ['eng', 'Owx', 'JOC']
df['token'] = df['token'].astype(pd.CategoricalDtype(cats, ordered=True))
>>> df['token'].dtype
CategoricalDtype(categories=['eng', 'Owx', 'JOC'], ordered=True)

>>> df.sort_values(['token', 'number'])
   number       name        address        city token
0       1      Alarm    oxstreet 12     Reading   eng
2       2   Computer    pentaroad 4      Oxford   eng
3       3      Music   thisstreet 2      London   eng
4       4     School  schoolroad 45      London   eng
5       1   Hospital   madstreet 24  Manchester   Owx
6       2    Bowling  placestreet 5  Birmingham   Owx
7       1      Hotel   cemstreet 24   Liverpool   JOC
8       2  Paintball  shootstreet 2  Manchester   JOC
1       3     Center  examstreet 24     Bristol   JOC
9       4   Computer    comproad 24    Brigthon   JOC

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据同一数据框中另一列的值替换数据框中的值?

来自分类Dev

根据列的值和另一列中列表的长度对数据框进行排序

来自分类Dev

根据同一数据框中另一列的值对2列的值进行计数或求和

来自分类Dev

根据同一数据框内另一列中的值替换数据框列中的值

来自分类Dev

如何根据同一数据框中另一列的值替换数据框中列中的 NaN 值

来自分类Dev

R 数据框:如何根据另一列中不同值的列值对数据进行切片

来自分类Dev

如何从同一数据框中查找另一列中包含唯一值的列值?

来自分类Dev

根据列表对列进行排序,然后对数据框中的另一列进行排序

来自分类Dev

根据同一数据集中另一列中的值过滤数据绑定组合框

来自分类Dev

从同一数据框中另一列的值派生列

来自分类Dev

根据一列对数据进行分组,然后使用数据框中的值构建行

来自分类Dev

根据R中的另一数据框替换一列中的值

来自分类Python

使用同一数据框中另一列的int作为索引获取列中的列表值

来自分类Dev

R使用dplyr根据一列中的最大值对数据框进行变异

来自分类Dev

Python Pandas 根据同一数据框中的多个列值查找列值

来自分类Dev

根据 R 中同一数据框中另一列的值将值分配给 R 中的列

来自分类Dev

使用 case_when() 和 filter() 根据 R 中一列中的值和另一列中的级别对数据框进行子集化

来自分类Dev

根据同一数据框中另一列内容的条件,在数据框中添加新列

来自分类Dev

根据另一列中的值对pandas数据框中的列进行归一化

来自分类Dev

根据R中另一个排序后的列值对数据框进行排序

来自分类Dev

使用整数数据类型,根据另一列的值对数据框进行排序

来自分类Dev

根据同一数据框另一列中的字符将文本列添加到数据框

来自分类Dev

如何根据同一数据框其他列中的值过滤熊猫数据框中的结果?

来自分类Dev

根据一列中的值(以另一列为条件)按顺序对数据进行排序

来自分类Dev

如何根据熊猫中另一个数据框中的列对数据框进行排序?

来自分类Dev

基于另一数据框列从一列中减去值

来自分类Dev

迭代比较同一数据框中的列值

来自分类Dev

比较同一数据框列中的值

来自分类Dev

如何根据数据框另一列中的条件在列中查找最小值?

Related 相关文章

  1. 1

    如何根据同一数据框中另一列的值替换数据框中的值?

  2. 2

    根据列的值和另一列中列表的长度对数据框进行排序

  3. 3

    根据同一数据框中另一列的值对2列的值进行计数或求和

  4. 4

    根据同一数据框内另一列中的值替换数据框列中的值

  5. 5

    如何根据同一数据框中另一列的值替换数据框中列中的 NaN 值

  6. 6

    R 数据框:如何根据另一列中不同值的列值对数据进行切片

  7. 7

    如何从同一数据框中查找另一列中包含唯一值的列值?

  8. 8

    根据列表对列进行排序,然后对数据框中的另一列进行排序

  9. 9

    根据同一数据集中另一列中的值过滤数据绑定组合框

  10. 10

    从同一数据框中另一列的值派生列

  11. 11

    根据一列对数据进行分组,然后使用数据框中的值构建行

  12. 12

    根据R中的另一数据框替换一列中的值

  13. 13

    使用同一数据框中另一列的int作为索引获取列中的列表值

  14. 14

    R使用dplyr根据一列中的最大值对数据框进行变异

  15. 15

    Python Pandas 根据同一数据框中的多个列值查找列值

  16. 16

    根据 R 中同一数据框中另一列的值将值分配给 R 中的列

  17. 17

    使用 case_when() 和 filter() 根据 R 中一列中的值和另一列中的级别对数据框进行子集化

  18. 18

    根据同一数据框中另一列内容的条件,在数据框中添加新列

  19. 19

    根据另一列中的值对pandas数据框中的列进行归一化

  20. 20

    根据R中另一个排序后的列值对数据框进行排序

  21. 21

    使用整数数据类型,根据另一列的值对数据框进行排序

  22. 22

    根据同一数据框另一列中的字符将文本列添加到数据框

  23. 23

    如何根据同一数据框其他列中的值过滤熊猫数据框中的结果?

  24. 24

    根据一列中的值(以另一列为条件)按顺序对数据进行排序

  25. 25

    如何根据熊猫中另一个数据框中的列对数据框进行排序?

  26. 26

    基于另一数据框列从一列中减去值

  27. 27

    迭代比较同一数据框中的列值

  28. 28

    比较同一数据框列中的值

  29. 29

    如何根据数据框另一列中的条件在列中查找最小值?

热门标签

归档