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

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

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

回复
阅读 478
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])
宣传栏