【问题标题】:How do reindex multilevel columns如何重新索引多级列
【发布时间】:2016-12-08 12:02:47
【问题描述】:

版本信息:

print(sys.version)
3.5.1 |Anaconda 4.1.0 (64-bit)| (default, Jun 15 2016, 15:29:36) [MSC v.1900 64 bit (AMD64)]

我在数据框中有如下所示的列(纬度和经度是多级列):

+------------+---------------+--------------+--------------+
| CustomerId | StreetAddress |   Latitude   |   Longitude  | 
+------------+---------------+-------+------+-------+------+
|                            | count | mean | count | mean |
+----------------------------+-------+------+-------+------+

我想得到这个:

+------------+---------------+-----------+----------+-----------+----------+
| CustomerId | StreetAddress | Lat_count | Lat_mean | Lon_count | Lon_mean | 
+------------+---------------+-----------+----------+-----------+----------+

我试过了:

newColumns = ['CustomerId','StreetAddress','Lat_count','Lat_mean','Lon_count','Lon_mean']
data2 = data1.reindex(columns=newColumns)

但这绝对行不通!我最终得到了某种疯狂的多级列,newColumns 中每个字符串的每个字母都是一个新级别。

更新

这是我的专栏

data1.columns.to_series()

CustomerId                  (CustomerId, )
StreetAddress            (StreetAddress, )
Latitude       count     (Latitude, count)
               mean       (Latitude, mean)
Longitude      count    (Longitude, count)
               mean      (Longitude, mean)

【问题讨论】:

  • 我试图弄清楚 CustomerIdStreetAddress 是列还是索引的一部分。您可以运行print data1.columns.to_series() 并将其发布在您的问题中吗?谢谢
  • @piRSquared 它们是列。请参阅我的更新答案。
  • 完美,我的解决方案应该可以正常工作。

标签: python windows pandas


【解决方案1】:

这样就可以了:

data2 = pd.DataFrame(data1.values, columns=newColumns)

还有这个:

data1.columns = newColumns

【讨论】:

    猜你喜欢
    • 2021-12-03
    • 2012-06-27
    • 2023-03-10
    • 2018-06-10
    • 2020-05-19
    • 2023-03-23
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多