我有一些数据帧:
d = {'colA': [1, 2], 'colB': [3, 4]}
df = pd.DataFrame(data=d)
df2 = pd.DataFrame(data=d)
df3 = pd.DataFrame(data=d)
我想返回一个包含字符串"a"的列列表,例如,对于一个DataFrame:
[column for column in df.columns if 'A' in column]
如何对多个数据帧(例如,df、df2、df3(执行此操作?
本例中所需的输出为[‘colA’,‘colA‘,‘colA’]
这里有一种方法:
l = [','.join(i.columns[i.columns.str.contains('A')]) for i in [df,df2,df3]]
您可以为此创建一个函数:
def find_char(list_of_df , char):
result = []
for df in list_of_df:
for c in df.columns:
if char in c:
result.append(c)
return result
用法:
res = find_char([df,df2,df3] , 'A')
print(res)
['colA', 'colA', 'colA']