为啥我不能删除数据框中的任何列? [复制]
Posted
技术标签:
【中文标题】为啥我不能删除数据框中的任何列? [复制]【英文标题】:Why can't I drop any columns in dataframe? [duplicate]为什么我不能删除数据框中的任何列? [复制] 【发布时间】:2020-07-24 16:29:32 【问题描述】:我不知道为什么unnamed: 0
会在我反转索引时到达那里,而对于我的生活,我不能drop
或del
它。它不会消失。无论我做什么,通过索引或从'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)
【讨论】:
日期栏已被删除,现在我正在重新下载文件。以上是关于为啥我不能删除数据框中的任何列? [复制]的主要内容,如果未能解决你的问题,请参考以下文章