我导入了几个csv文件并运行此函数:
def csv_bereinigen(dfname):
del dfname["Unnamed: 0"]
dfname["date"] = pd.to_datetime(dfname["date"])
dfname.set_index(dfname["date"], drop = True, inplace = True)
但是该列不会掉线(我知道drop的默认值为True)
非常感谢帮助! 问候
(Python 3.6)
答案 0 :(得分:5)
将DataFrame的列更改为列名,默认情况下也为drop = True
,因此可以删除它:
dfname.set_index(dfname["date"], drop = True, inplace = True)
为:
dfname.set_index("date", inplace = True)
<强>示例强>:
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
编辑:
如果输入是文件,请对index_col
使用read_csv
参数parse_dates
和DatetimeIndex
:
df = pd.read_csv(file, index_col=['date'], parse_dates=['date'])