简体   繁体   English

Pandas set_index 不会删除列

[英]Pandas set_index doesn't drop the column

I run the following code function on my dataframe:我在我的数据帧上运行以下代码函数:

del dfname["Unnamed: 0"]
dfname["date"] = pd.to_datetime(dfname["date"])
dfname.set_index(dfname["date"], drop=True, inplace=True)

But the column does not drop (I know that the default is drop=True )但是该列不会下降(我知道默认值是drop=True

The output dataframe looks like this .输出数据帧看起来像这样 I'm using Python 3.6我正在使用 Python 3.6

Change column of DataFrame to column name, also drop = True is default, so is possible remove it:将 DataFrame 的列更改为列名, drop = True也是默认值,因此可以将其删除:

dfname.set_index(dfname["date"], drop = True, inplace = True)

to:到:

dfname.set_index("date", inplace = True)

Sample :样品

rng = pd.date_range('2017-04-03', periods=10)
dfname = pd.DataFrame({'date': rng, 'a': range(10)})  

dfname.set_index("date", inplace = True)
print (dfname)
            a
date         
2017-04-03  0
2017-04-04  1
2017-04-05  2
2017-04-06  3
2017-04-07  4
2017-04-08  5
2017-04-09  6
2017-04-10  7
2017-04-11  8
2017-04-12  9

EDIT:编辑:

If input is file, use read_csv with parameters index_col and parse_dates for DatetimeIndex :如果输入是文件, read_csv与参数index_colparse_dates用于DatetimeIndex

df = pd.read_csv(file, index_col=['date'], parse_dates=['date'])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM