在python中连接两个维度不等的数据帧

在python中连接两个维度不等的数据帧,python,pandas,Python,Pandas,我有两个不相等行的数据帧。我想将一个数据帧的前20行连接到另一个数据帧的前5行,并递归地执行此操作,直到两个文件结束 样本数据: df1 col1 col2 1 0.1 2 0.2 3 0.3 4 0.4 5 0.5 6 0.6 20 0.10 21 0.01 22 0.01 23 0.01 24 0.01 40 0.01 100 0.90

我有两个不相等行的数据帧。我想将一个数据帧的前20行连接到另一个数据帧的前5行,并递归地执行此操作,直到两个文件结束

样本数据:

df1
col1    col2
1       0.1     
2       0.2
3       0.3
4       0.4
5       0.5
6       0.6
20      0.10
21      0.01
22      0.01
23      0.01
24      0.01
40      0.01
100     0.90
输出

col1    col2
1       0.1     
2       0.2
3       0.3
4       0.4
5       0.5
6       0.6
20      0.10
1      0.1
2      0.2
3      0.3
4      0.4
5      0.5
20      0.10
21      0.01
22      0.01
23      0.01
24      0.01
40      0.01
6      0.6
7      0.7
8      0.8
9      0.9
10     0.4

感谢

我们的想法是将
数据框
中的索引用
/
整数除法进行更改,然后按排序,最后按
重置索引创建默认索引

N1 = 20
N2 = 5

#if not default RangeIndex in both
df1 = df1.reset_index(drop=True)
df2 = df2.reset_index(drop=True)

df1.index //= N1
df2.index //= N2

df = pd.concat([df1, df2]).sort_index(kind='mergesort').reset_index(drop=True)
样本

df1 = pd.DataFrame({'a':range(20)})
df2 = pd.DataFrame({'a':range(100, 110)})
#print (df1)
#print (df2)

N1 = 5
N2 = 3

df1.index //= N1
df2.index //= N2

df = pd.concat([df1, df2]).sort_index(kind='mergesort').reset_index(drop=True)


其思想是通过整数除法将
数据帧
中的索引和
/
一起更改,并通过
重置索引
最后创建默认索引:

N1 = 20
N2 = 5

#if not default RangeIndex in both
df1 = df1.reset_index(drop=True)
df2 = df2.reset_index(drop=True)

df1.index //= N1
df2.index //= N2

df = pd.concat([df1, df2]).sort_index(kind='mergesort').reset_index(drop=True)
样本

df1 = pd.DataFrame({'a':range(20)})
df2 = pd.DataFrame({'a':range(100, 110)})
#print (df1)
#print (df2)

N1 = 5
N2 = 3

df1.index //= N1
df2.index //= N2

df = pd.concat([df1, df2]).sort_index(kind='mergesort').reset_index(drop=True)