【问题标题】:Can't drop column after transpose DataFrame转置 DataFrame 后无法删除列
【发布时间】:2019-01-31 12:52:56
【问题描述】:

我正在尝试使用 df.drop(column['a']) 删除我从 .xlsx 文件导入的转置 DataFrame 的第一列,但在轴中找不到错误 ['a']

我在 Jupyter Notebooks 中运行它,Pandas 版本是 0.23.4

import pandas as pd
import numpy as np

df = pd.read_excel('C:/Users/Desktop/Test.xlsx')

df = df.set_index('a').T
df = df.reset_index()

df = df.drop(columns=['a'])

转置前的df:

 ' a 5 4 3 2

 0 b 1 3 4 5

 1 c 7 6 8 7

 2 d 6 4 7 1

转置后的df和reset_index

a i b c d

0 5 1 7 6

1 4 3 6 4

2 3 4 8 7

3 2 5 7 1

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

    当您设置索引时,列“a”不再在列中。它是一个索引。 见丢弃参数 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.set_index.html

    【讨论】:

    • 好吧,我想我明白我做错了什么。并尝试重置索引并通过 df.index.name="Test" 更改名称并在我的 df Header 中得到类似双线的东西。 a,b,c,d 在上面一行,“Test”在“a”下面。摆脱“a”的任何机会
    • A 是索引的名称。可以这样删除——“del df.index.name”stackoverflow.com/questions/29765548/…
    • "del df.index.name" 对 "a" 没有影响。 df.dtypes 返回: a -> ; b->int64; c->int64; d->int64.. 通过不转置数据帧,使用 dtypes 不显示索引..
    • 我不完全确定,但我猜如果您尝试读取没有标题的文件 - 这可能对您有用。当您阅读 excel 时通过 header=None 参数。希望这对你有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 2018-12-07
    • 1970-01-01
    • 2018-06-14
    • 2021-05-09
    • 1970-01-01
    • 2020-12-22
    相关资源
    最近更新 更多