我有一个熊猫数据框列表。
list_df=[df1,df2,df3,df4]
我通过索引列表来访问数据框
df1=list_df[0]
df2=list_df[1]
first_n_dfs=list_df[0:n]
是否有一种简单的方法来选择列表中每个数据帧的“第m列”而不进行for循环? 目前,我正在使用for循环。
for i in range(len(list_df)):
print(list_df[i].iloc[:,m])
如果这是一个重复的问题,请原谅。我找不到类似的问题。感谢您的宝贵时间。
答案 0 :(得分:2)
如果数据框没有相同的架构(允许将它们组合在一起),则可以做一个稍微的优化,就是遍历数据框本身:
for df in list_df:
print(df.iloc[:, m])
答案 1 :(得分:0)
您可以使用map()
来获得结果,而无需按照要求使用for
循环:
list(map(lambda x: x.iloc[:,m], list_df))