当我尝试按行合并两个数据帧时:
bigdata = data1.append(data2)
我收到以下错误:
Exception: Index cannot contain duplicate values!
第一个数据帧的索引从0到38开始,第二个数据从0到48开始。我不明白我必须在合并之前修改其中一个数据帧的索引,但我不知道知道如何。
谢谢。
这是两个数据帧:
data1
:
meta particle ratio area type
0 2 part10 1.348 0.8365 touching
1 2 part18 1.558 0.8244 single
2 2 part2 1.893 0.894 single
3 2 part37 0.6695 1.005 single
....clip...
36 2 part23 1.051 0.8781 single
37 2 part3 80.54 0.9714 nuclei
38 2 part34 1.071 0.9337 single
data2
:
meta particle ratio area type
0 3 part10 0.4756 1.025 single
1 3 part18 0.04387 1.232 dusts
2 3 part2 1.132 0.8927 single
...clip...
46 3 part46 13.71 1.001 nuclei
47 3 part3 0.7439 0.9038 single
48 3 part34 0.4349 0.9956 single
第一列是索引
答案 0 :(得分:44)
append
函数有一个可选参数ignore_index
,你可以在这里使用它来连接记录,因为索引对你的应用程序没有意义。
答案 1 :(得分:1)
您可以首先使用groupby
方法识别索引复制(非值)行,然后对具有重复索引的所有行执行求和/均值操作。
data1 = data1.groupby(data1.index).sum()
data2 = data2.groupby(data2.index).sum()