使PANDAS识别DF上某个值内的PATTERN



我将Python 3.9与Pandas和Numpy一起使用。

每天我都会收到一份df,里面有我工作的公司的订单。每天,这个df都来自不同的国家,我不懂这种语言,而且这个数据帧没有模式。在这种情况下,我不知道列名和索引是什么

我只知道订单遵循一种模式:3个数字+2个字母,如000AA、149KL、555EE等。

我看到使用字符串是可能的,但使用panda时,我发现了需要列名称的命令。

df.column_name.str.contains(pat=r'dddww', regex=True)

如果我能找到只有这种模式的列,我就知道订单列是什么。

我从一个合成数据集开始

import pandas
df = pandas.DataFrame([{'a':3,'b':4,'c':'222BB','d':'2asf'},
{'a':2,'b':1,'c':'111AA','d':'942'}])

然后我循环浏览每一列。如果数据类型是object,那么我测试Series中的所有元素是否都匹配regex

for column_id in df.columns:
if df[column_id].dtype=='object':
if all(df[column_id].str.contains(pat=r'dddww', regex=True)):
print("matching column:",column_id)

最新更新