为啥我不能删除数据框中的任何列? [复制]

Posted

技术标签:

【中文标题】为啥我不能删除数据框中的任何列? [复制]【英文标题】:Why can't I drop any columns in dataframe? [duplicate]为什么我不能删除数据框中的任何列? [复制] 【发布时间】:2020-07-24 16:29:32 【问题描述】:

我不知道为什么unnamed: 0 会在我反转索引时到达那里,而对于我的生活,我不能dropdel 它。它不会消失。无论我做什么,通过索引或从'Unnamed: 0''0' 的任何可能的字符串变化。我尝试通过columns=.drop(df.columns 设置它,我已经尝试了我的代码中已经存在的所有内容,例如drop=True。然后我尝试删除其他列,但这是行不通的。

import pandas as pd

# set csv file as constant
TRADER_READER = pd.read_csv('TastyTrades.csv')


# change date format, make date into timestamp object, set date as index, write changes to csv file
def clean_date():
    # TRADER_READER['Date'] = TRADER_READER['Date'].replace('T': ' ', '-0500': '', '-0400': '', regex=True)
    # TRADER_READER['Date'] = pd.to_datetime(TRADER_READER['Date'], format="%Y-%m-%d %H:%M:%S")
    TRADER_READER.set_index('Date', inplace=True, drop=True)
    # TRADER_READER.iloc[::-1].reset_index(drop=True)
    print(TRADER_READER)
    # TRADER_READER.to_csv('TastyTrades.csv')


clean_date()
                     Unnamed: 0             Type  ... Strike Price Call or Put
Date                                              ...                         
2020-04-01 11:00:05           0            Trade  ...         21.0         PUT
2020-04-01 11:00:05           1            Trade  ...          NaN         NaN
2020-03-31 17:00:00           2  Receive Deliver  ...         22.0         PUT
2020-03-31 17:00:00           3  Receive Deliver  ...          NaN         NaN
2020-03-27 16:15:00           4  Receive Deliver  ...          7.5         PUT
...                         ...              ...  ...          ...         ...
2019-12-12 10:10:22         617            Trade  ...         11.0         PUT
2019-12-12 10:10:21         618            Trade  ...         45.0        CALL
2019-12-12 10:10:21         619            Trade  ...         32.5         PUT
2019-12-12 09:45:42         620            Trade  ...         18.0        CALL
2019-12-12 09:45:42         621            Trade  ...         13.0         PUT

[622 rows x 16 columns]

Process finished with exit code 0

【问题讨论】:

从 CSV 读取数据帧后,能否显示数据帧的头部? 你试过TRADER_READER = TRADER_READER.drop('Unnamed: 0', axis=1)吗? 我想我一定是错过了一个角色,因为它已经消失了。我最初按照你的建议做了。谢谢。 试试:pd.read_csv('TastyTrades.csv', index_col=False) 这样做会得到相同的结果。 【参考方案1】:

我认为问题出在包含未命名列的 CSV 中,要修复它,读取指定使用第一列作为索引的 csv,然后设置 Date 索引。

TRADER_READER = pd.read_csv('TastyTrades.csv', index_col=0)
TRADER_READER.set_index('Date', inplace=True, drop=True)

【讨论】:

日期栏已被删除,现在我正在重新下载文件。

以上是关于为啥我不能删除数据框中的任何列? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如果特定列中的值不是熊猫数据框中的整数,则删除行

如何通过特定的 ID 号删除数据框中的行? [复制]

删除 Spark 数据框中的空格时出错 - PySpark

从R中的多个数据框中删除同一列

从scala中的数据框中删除不需要的列

按日期范围删除数据框中的行。