在以“*”结尾的数据帧名称上迭代连接数据帧
concatenate datframes iteratively on dataframe names that ends with '*'
例如,假设我在当前实例中有几个数据帧:
alldfs = [var for var in dir() if isinstance(eval(var), pd.core.frame.DataFrame)]
输出:
['df',
'df_01_W',
'df_01_W_pvt',
'df_01_X',
'df_01_X_pvt',
'df_02_W',
'df_02_W_pvt',
'df_03',
'df_03_pvt',
'df_04_W',
'df_04_W_pvt',
'df_04_X',
'df_04_X_pvt']
我只想在一个唯一的 df 中迭代地连接名称以“_pvt”结尾的数据帧。
,
我将连接:df_01_W_pvt、df_01_X_pvt、df_02_W_pvt、df_03_pvt、df_04_W_pvt、df_04_X_pvt
这可以使用以下命令轻松完成:
merged = pd.concat([df_01_W_pvt, df_01_X_pvt, df_02_W_pvt, df_03_pvt, df_04_W_pvt, df_04_X_pvt], sort=False)
但我想知道如何在以“_pvt”结尾的数据帧名称上迭代连接数据帧。
如果我能看到你的亮点,那将不胜感激。
在此先致谢并致以最诚挚的问候
这样的怎么样?
new_df = pd.concat([globals()[x] for x in alldfs if x.endswith('_pvt')])
例如,假设我在当前实例中有几个数据帧:
alldfs = [var for var in dir() if isinstance(eval(var), pd.core.frame.DataFrame)]
输出: ['df', 'df_01_W', 'df_01_W_pvt', 'df_01_X', 'df_01_X_pvt', 'df_02_W', 'df_02_W_pvt', 'df_03', 'df_03_pvt', 'df_04_W', 'df_04_W_pvt', 'df_04_X', 'df_04_X_pvt']
我只想在一个唯一的 df 中迭代地连接名称以“_pvt”结尾的数据帧。 , 我将连接:df_01_W_pvt、df_01_X_pvt、df_02_W_pvt、df_03_pvt、df_04_W_pvt、df_04_X_pvt
这可以使用以下命令轻松完成:
merged = pd.concat([df_01_W_pvt, df_01_X_pvt, df_02_W_pvt, df_03_pvt, df_04_W_pvt, df_04_X_pvt], sort=False)
但我想知道如何在以“_pvt”结尾的数据帧名称上迭代连接数据帧。
如果我能看到你的亮点,那将不胜感激。
在此先致谢并致以最诚挚的问候
这样的怎么样?
new_df = pd.concat([globals()[x] for x in alldfs if x.endswith('_pvt')])