我将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)