有没有办法在 Python 中使用正则表达式连接 DataFrame 列表?
Is there a way to concat a list of DataFrames using regular expression in Python?
我有多个要附加的 DataFrame。我得到了我想要的输出:
bigdf = pd.concat([df1, df2, df3, df4, df5, df6])
这些 DataFrames 使用 Spyder IDE.
存储在我的变量资源管理器中
此过程运行良好,但在全部输入时可能会有点乏味。
但是假设我希望附加的数据帧都具有非常相似的名称,只是用数字后缀分隔。
例如;结果 1、结果 2、结果 3 等...
我想知道,是否有一种方法可以使用单个正则表达式模式附加我想要的所有 DataFrame 以查找 DataFrame 的名称?
正则表达式模式将是:'^outcome'
收集在我的变量资源管理器中找到的所有数据帧的列表,这些数据帧通常具有 'outcome' 前缀。
第一次提问,如有遗漏请指正。
我不熟悉pandas。
但我假设您能够将 pandas 数据帧作为迭代器或可迭代的,
然后你可以使用 re 包进行前缀搜索。
import re
for dFrame in dataframes:
if re.search( r'^outcome', dFrame.name): # return None if nothing found
bigdf += pd.concat([dFrame])
# I'm not sure the pandas syntax, just append the found dataframe
如果我有任何误解,请告诉我。
谢谢
import pandas as pd
import re
outcome1 = pd.DataFrame({'a':[1], 'b':[3]})
outcome2 = pd.DataFrame({'a':[3], 'b':[4]})
bigdf = eval("pd.concat([" + ", ".join(list(filter(lambda x: re.match('^outcome', x) ,dir()))) + "])")
我有多个要附加的 DataFrame。我得到了我想要的输出:
bigdf = pd.concat([df1, df2, df3, df4, df5, df6])
这些 DataFrames 使用 Spyder IDE.
存储在我的变量资源管理器中此过程运行良好,但在全部输入时可能会有点乏味。
但是假设我希望附加的数据帧都具有非常相似的名称,只是用数字后缀分隔。 例如;结果 1、结果 2、结果 3 等...
我想知道,是否有一种方法可以使用单个正则表达式模式附加我想要的所有 DataFrame 以查找 DataFrame 的名称?
正则表达式模式将是:'^outcome'
收集在我的变量资源管理器中找到的所有数据帧的列表,这些数据帧通常具有 'outcome' 前缀。
第一次提问,如有遗漏请指正。
我不熟悉pandas。
但我假设您能够将 pandas 数据帧作为迭代器或可迭代的,
然后你可以使用 re 包进行前缀搜索。
import re
for dFrame in dataframes:
if re.search( r'^outcome', dFrame.name): # return None if nothing found
bigdf += pd.concat([dFrame])
# I'm not sure the pandas syntax, just append the found dataframe
如果我有任何误解,请告诉我。 谢谢
import pandas as pd
import re
outcome1 = pd.DataFrame({'a':[1], 'b':[3]})
outcome2 = pd.DataFrame({'a':[3], 'b':[4]})
bigdf = eval("pd.concat([" + ", ".join(list(filter(lambda x: re.match('^outcome', x) ,dir()))) + "])")