【问题标题】:Dataframe rows with different orders, how to sort all rows with rules accordingly?具有不同顺序的数据框行,如何根据规则对所有行进行排序?
【发布时间】:2019-07-13 23:53:56
【问题描述】:

按照这篇文章的想法解决了: Fastest way to sort each row in a pandas dataframe

如果这可以通过 R 或 Excel 实现,请分享您的想法,谢谢。 从 csv 或 txt 读取的数据,每个值都带有列名。 行可能有不同的顺序,例如:

Row#4: col1 - col2 - col3 - col4 - col6 - col5 - col7

Row#5: col1 - col2 - col3 - col5 - col6 - col7 - col4

Row#6: col1 - col2 - col4 - col5 - col6 - col3 - col7

Row#7: col1 - col3 - col4 - col2 - col5 - col6 - col7
1   "colname1": 00001,  "col2": 36, "col3": "male", "col4": "MA",    "col5": "AAA",  "col6": 10.20,  "col7": 200

2   "colname1": 00002,  "col2": 37, "col3": "female",   "col4": "CA",    "col5": "BBB",  "col6": 10.21,  "col7": 201

3   "col1": 00003,  "col2": 38, "col3": "female",   "col4": "NY",    "col5": "CCC",  "col6": 10.22,  "col7": 202

4   "col1": 00004,  "col2": 39, "col3": "female",   "col4": "CA",    "col6": 10.23,  "col5": "DDD",  "col7": 203

5   "col1": 00005,  "col2": 40, "col3": "male",  "col5": "EEE",  "col6": 10.24,  "col7": 204,   "col4": "WA"

6   "col1": 00006,  "col2": 41, "col4": "GA",    "col5": "FFF",  "col6": 10.25, "col3": "male",  "col7": 205

7   "col1": 00007,  "col3": "male", "col4": "CA",   "col2": 42,  "col5": "GGG",  "col6": 10.26,  "col7": 206

8   "col1": 00008,  "col2": 43, "col3": "female",   "col4": "CA",    "col5": "HHH",  "col6": 10.27,  "col7": 207

试过df.insertdf.sort_values,都不管用; 可能需要一些函数来重新排序数据框中的单元格, 或者某些函数可以根据列名读取数据。

希望所有行以正确的顺序读入数据框,或者可以相应地调整数据框单元格:

这是否可以通过 python/pandas 实现,以获得 df 看起来像:

Row#1: col1 - col2 - col3 - col4 - col5 - col6 - col7

Row#n: col1 - col2 - col3 - col4 - col5 - col6 - col7

【问题讨论】:

  • 感谢 akrun,已删除 r 标签;但如果这可以通过 R 实现,请分享您的想法,
  • 数据集的格式不清楚
  • 数据集格式更新了一点,每个单元格/值用逗号分隔;每个单元格的格式为 "columnname": "value"。
  • 您能直接分享数据吗?如果是 csv,那么只需复制前 6 行(左右)并粘贴到您问题中的 code-block 中。如果是data.frame,那么dput(head(x))(在r 中,因为标签仍在您的问题中)。

标签: pandas csv dataframe data-cleaning


【解决方案1】:

已解决,遵循以下帖子中的想法:按每一行排序,然后使用原始形状将其传输回 DataFrame。

Fastest way to sort each row in a pandas dataframe

【讨论】:

    猜你喜欢
    • 2012-08-12
    • 2011-04-23
    • 1970-01-01
    • 2015-04-21
    • 2020-06-18
    • 2019-01-18
    • 1970-01-01
    • 2017-05-21
    相关资源
    最近更新 更多