我目前正在使用带有names
名字的pandas(0.22.0)。
如何在基础数据架构发生变化时解决问题?
例如,我的read_table读取5列,数据文件有5列。我如何处理数据中的更改(当新数据列添加到数据时,这是否意味着我必须在数据格式更改时更新模式?有没有办法忽略未通过read_table
提到的列在Pandase {{1}}
答案 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-pick
和read_table
的设置架构迭代数据文件。每次基础数据发生变化时,我都不想更新模式。
此时我找到了一种解决方法(更多的是黑客攻击)。我在names
数组中添加了一些“虚拟”列。