我正在处理由几个几乎相同格式的 csv 文件组成的数据集。每个 csv 描述一个特定的日期,并按州/省标记数据。但是,数据集中其中一个列标题的格式已从 更改Province/State
为Province_State
,因此在某个日期之前创建的所有 csv 都使用第一种格式,而在该日期之后创建的所有 csv 都使用第二种格式。
我正在尝试总结与特定状态相对应的所有条目。目前,我正在使用的代码如下:
daily_data.loc[daily_data[areaLabel] == location].sum()
哪里daily_data
是包含 csv 数据的数据框,location
是我正在寻找的状态的名称,arealabel
是一个变量,存储'Province/State'
或'Province_State
' 取决于日期检查的结果。我想通过例如对像 之类的正则表达式进行调节来消除日期检查Province(/|_)State
,但是我很难找到一种通过正则表达式索引到 Pandas 数据帧的方法。这是否可行(并且以某种方式使代码更优雅而不是不那么优雅)?如果是这样,如果有人能指出我正确的方向,我将不胜感激。
使用filter
得到匹配您的正则表达式的列
>>> df.filter(regex="Province(/|_)State").columns[0]
'Province/State'
然后使用它来仅选择与您的位置匹配的行:
df[df[df.filter(regex="Province(/|_)State").columns[0]]==location].sum()
然而,这假设没有其他列可以匹配正则表达式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句