Python 返回多个数据帧中字符串匹配的列列表
我有一些数据帧:Python 返回多个数据帧中字符串匹配的列列表,python,pandas,Python,Pandas,我有一些数据帧: d = {'colA': [1, 2], 'colB': [3, 4]} df = pd.DataFrame(data=d) df2 = pd.DataFrame(data=d) df3 = pd.DataFrame(data=d) 我想返回包含字符串“a”的列列表,例如,对于一个数据帧: [column for column in df.columns if 'A' in column] 如何对多个数据帧(例如df、df2、df3)执行此操作 本例中所需的输出为['co
d = {'colA': [1, 2], 'colB': [3, 4]}
df = pd.DataFrame(data=d)
df2 = pd.DataFrame(data=d)
df3 = pd.DataFrame(data=d)
我想返回包含字符串“a”的列列表,例如,对于一个数据帧:
[column for column in df.columns if 'A' in column]
如何对多个数据帧(例如df、df2、df3)执行此操作
本例中所需的输出为['colA'、'colA'、'colA']您可以为此创建一个函数:
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']
您可以为此创建一个函数:
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']
这里有一个方法:
l = [','.join(i.columns[i.columns.str.contains('A')]) for i in [df,df2,df3]]
这里有一个方法:
l = [','.join(i.columns[i.columns.str.contains('A')]) for i in [df,df2,df3]]