怎样优雅地一次初始化多个dataframe变量?

神圣之风
  • 465
i,j,k=pd.DataFrame(columns=["A","B"]),pd.DataFrame(columns=["A","B"]),pd.DataFrame(columns=["A","B"])

以上是我想生成i,j,k三个拥有相同列名的dataframe,写得很丑陋。如果多了怎么优雅一点呢?

回复
阅读 376
1 个回答

为啥每次看到你的优雅二字,我就有中说不出来的感觉。
我给的也许不是最优雅的。
相同列名的话可以copy,要多少copy多少。

i = pd.DataFrame(columns=["A","B"])
j = i.copy()
k = i.copy()

不同列名的话,你就for循环一下

vals = locals()
columns = [["A"], ["A","B"], ["C"]]
for i in range(len(columns)):
    vals[f'i{i}'] = pd.DataFrame(columns=columns[i])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏