python - Pandas set_index 不会删除该列

标签 python pandas csv import

我在我的数据框上运行以下代码函数:

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

但是列没有drop(我知道默认是drop=True)

The output dataframe looks like this .我正在使用 Python 3.6

最佳答案

将 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

编辑:

如果输入是文件,使用read_csv DatetimeIndex 的参数 index_colparse_dates:

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

关于python - Pandas set_index 不会删除该列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48889914/

相关文章:

python - 打印到屏幕需要多长时间?

python - 如何跳过 DRF 序列化器 FloatField 的验证

python - 添加列数据框

python - 使用多处理时拥有全局变量是否有效?

php - "Column count doesn' t match value count at row 1”当我尝试上传超过 1 行时出现错误。(CSV 文件到 MySQL 数据库)

python - 如何解压 df 中的列表并在该列表上使用加法而不进行循环

python - 使用子字符串将字典转换为列表

python - Pandas 从具有不同列名的 2 个数据帧映射数据

objective-c - CSV 文件查找 - Objective C

mysql - 用于将多个 CSV 文件导入 MySQL 数据库的 Perl 脚本