python - 一次切片多个 CSV 文件
问题描述
我目前正在阅读 5 个 CSV 文件,并希望获取不同变量的特定数据列
我正在使用 Pandas read_csv 执行此操作,然后尝试对该变量进行切片
all_files = pd.read_csv('ca.csv'), pd.read_csv("ny.csv"), pd.read_csv("tn.csv"), pd.read_csv('az.csv'), pd.read_csv("tx.csv')
date_index = all_files[1:, 1]
这会引发错误TypeError: tuple indices must be integers or slices, not tuple
不知道我哪里错了?
解决方案
错误的原因是all_files
几个数据帧的元组,一个来自您读取的每个文件。因此,当您尝试这样做时,all_files[slice]
您正在切片tuple,而不是它包含的数据帧。元组只能使用整数进行切片,就像普通列表一样,因此会出现错误。
如果要从每个数据帧中获取相同的列,则需要一些循环结构:
date_indexes = [df.ix[:,0] for df in all_files]
例如,上面的代码将从您读取的每个数据帧中获得第一列,作为一个系列,在一个列表中。
如果您打算在阅读后以某种方式组合数据帧,则可能不需要它。您可以改为考虑堆叠它们。堆叠也适用于熊猫系列(这是从数据框中提取的列),如果您想要通过组合每个文件中的相同列来获得长序列。
推荐阅读
- angularjs - Highchart 扩展 x 轴,然后更新 y 轴数据
- java - 菜单弹出时面板缺少重叠部分
- facebook - 如何在 facebook 网络信使而不是信使应用程序上共享链接
- amazon-web-services - 如何在 AWS ElastiCache 上访问 redis 日志
- c++ - 带有非类型名最后一个 arg 的模板参数重载
- adobe-analytics - Adobe Analytics - 使用时间戳问题设置的 PurchaseID
- c# - 有没有更有效的方法来使用!=?
- angular - 如何从 RadAutoCompleteTextView 中清除选定的值
- java - 使用 JDBC 从 Jira 插件连接到 SQL Server DB
- python - 如何使用第一个字段作为标签,从具有 3 个字段的模型中创建 Django 表单,其余的作为单选检查?