我有两个Pandas数据框,如下所示(示例代码为here)。
A B C D
2000-01-01 0.298399 -0.738440 -0.505438 0.324951
2000-01-02 1.300686 -0.938543 -1.850977 0.868467
和
A B C D
2000-01-03 0.328032 0.325845 -0.289175 0.393732
2000-01-04 0.091853 -1.450642 -0.544152 1.073248
,我想zip
他们,以便我可以处理他们的价值观。为了澄清起见,我尝试一次将两行—通过将相应的行压缩在一起。我不想创建一个新的df,除非那样会更有效。
我想到的第一件事是
for i, (x, y) in enumerate(zip(df1, df2)):
print(i, x, y)
,预计会得到类似的东西:
0 (0.298399 -0.738440 -0.505438 0.324951) (0.328032 0.325845 -0.289175 0.393732)
1 (1.300686 -0.938543 -1.850977 0.868467) (0.091853 -1.450642 -0.544152 1.073248)
但是我得到的是:
0 A A
1 B B
在使用数据框时,如何获得典型 zip
行为?
答案 0 :(得分:1)
您可以将DataFrames转换为numpy数组:
metricbeat
您的解决方案返回列名称,因为该过程类似于:
for i, (x, y) in enumerate(zip(df1.values, df2.values)):
print(i, x, y)