【发布时间】:2016-03-01 10:06:25
【问题描述】:
所以我有一个数据框,其中我想要的标题当前没有排列:
In [1]: df = pd.read_excel('example.xlsx')
print (df.head(10))
Out [1]: Portfolio Asset Country Quantity
Unique Identifier Number of fund B24 B65 B35 B44
456 2 General Type A UNITED KINGDOM 1
123 3 General Type B US 2
789 2 General Type C UNITED KINGDOM 4
4852 4 General Type C UNITED KINGDOM 4
654 1 General Type A FRANCE 3
987 5 General Type B UNITED KINGDOM 2
321 1 General Type B GERMANY 1
951 3 General Type A UNITED KINGDOM 2
357 4 General Type C UNITED KINGDOM 3
如我们所见;在前 2 个列标题上方有 2 个空白单元格,在接下来的 4 个列标题下方是我不关心的“B”数字。
所以 2 个问题;如何在没有列标题的情况下将前 2 列向上移动(由于上面的空白单元格)?
我怎样才能只删除剩余列的第 2 行,并让下面的数据向上移动以取代“B”数字?
我发现一些类似的问题已经问过python: shift column in pandas dataframe up by one,但我认为没有解决上述特定复杂性的问题。
另外,我对 Python 和 Pandas 还很陌生,所以如果这真的很基础,我深表歉意!
【问题讨论】:
-
看起来前 2 个列被读取为索引,调用
df.reset_index()将它们恢复为列 -
df.columns是什么? -
好吧,在做了
df.reset_index()然后df.columns他们现在有了标题; “未命名:0”和“未命名:1”这给了我一些东西来称呼那些 2 以将它们向上移动。干杯!