【发布时间】:2019-05-28 18:49:40
【问题描述】:
我正在尝试找出一个很好的实现来从一组 CSV 文件中删除选定的列。我有一个 CSV 文件目录,我想从中聚合时间序列数据,但只需要值和时间戳。我想只删除其他列,我也很好奇在将文件放在一起后如何执行此类任务。到目前为止,我所拥有的是这样的:
files = glob.glob("../dir/subdir/*.csv")
data = {os.path.basename(fname):pd.read_csv(fname) for fname in files}
for df in data:
df.drop(columns = ['A', 'D'])
这不起作用有几个原因,但我怎样才能实现我的目标?
【问题讨论】:
-
使用
inplace=True -
使用 inplace=True 或 df = df.drop(columns = ['A', 'D']),之后,您还应该使用 to_csv() 将数据写回 csv 文件
-
你没有遍历字典中的值。
-
你真正想做什么?您需要其他地方的数据吗?您只想删除列吗?您提到要聚合所有数据框有什么原因吗?
标签: python database csv glob data-cleaning