【发布时间】:2022-01-23 08:25:13
【问题描述】:
此代码与我的代码相同,但我有 300 列,我需要像这样重新排序列: 每家公司的总利润、类别、销售商品数量。如果我的列很少,但正如我所说的,我有 300 个。
data = {'company': ['AMC', 'ER','CRR' , 'TYU'], 'Reg-ID': ['1222','2334','3444', '4566'], 'Total_provit': ['123300','12233', '3444444', '412222'], 'numberofgoodsold':['44','23','67','34'], Catgory: ['Tal','ERP','RTY close','ALL']}
d = pd.DataFrame(data)
d2 = d.pivot(index = 'Reg-ID', columns = 'company')
d2.columns = d2.columns.swaplevel(0, 1)
d2.sort_index(axis=1, level=0, inplace=True)
【问题讨论】:
-
d2应该是你的出发点吗?我看不出Reg-ID怎么可能成为故事中的索引器。这以某种方式无缘无故地将您的桌子与NaNs“对齐”。 IE。它创建了一个块对角表...但这可能超出您的控制范围...例如其他非科学家同事过去的工作... -
我没听懂你在说什么。但我有兴趣订购我的专栏。我的列在每个公司下以相同的顺序排列。我需要的是按新顺序为所有公司重新排序我的列。我有 22 家公司,每个公司都有 8 列。我如何为每家公司更改每 8 列。你明白我的想法了吗?
-
d2应该是您的起点吗?根据我们是否必须处理d或d2,解决您的问题不会产生相同的答案。你的问题很清楚。不清楚的是我们必须从哪个数据框开始。 -
d2 yes 是我的出发点。对不起
-
执行
d2.xs('TYU', axis=1, drop_level=False),你会发现除了最后一行,你到处都有NaNs。做d2.xs('AMC', axis=1, drop_level=False),与第一行同上。为什么 ?因为Reg-ID反映了与公司名称相同的信息。那么问题来了:d2真的是这样吗?还是试图为我们提供一个(错误形成的)可复制的玩具对象?
标签: python pandas data-analysis