如何使用与pandas python中的模式不同的数据

时间:2018-01-16 17:14:57

标签: python-2.7 pandas

我目前正在使用带有names名字的pandas(0.22.0)。

如何在基础数据架构发生变化时解决问题?

例如,我的read_table读取5列,数据文件有5列。我如何处理数据中的更改(当新数据列添加到数据时,这是否意味着我必须在数据格式更改时更新模式?有没有办法忽略未通过read_table提到的列在Pandase {{1}}

2 个答案:

答案 0 :(得分:0)

有一个usecols参数,您可以将其传递给read_table以仅读取可用数据的子集。只要您关注的5列始终存在,您应该能够在通话中明确命名它们。

cols_of_interest = ['col1', 'col2', 'col3', 'col4', 'col5']
df = pd.read_table(file_path, usecols=cols_of_interest)

pd.read_table的文档 - https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_table.html

请注意,您还可以传递一个callable,它可以决定要解析哪些列,或指定列索引而不是命名列(取决于我猜的基础数据)。

答案 1 :(得分:0)

我在这里遇到的问题是我正在使用cherry-pickread_table的设置架构迭代数据文件。每次基础数据发生变化时,我都不想更新模式。   此时我找到了一种解决方法(更多的是黑客攻击)。我在names数组中添加了一些“虚拟”列。