在python中连接两个维度不等的数据帧
我有两个不相等行的数据帧。我想将一个数据帧的前20行连接到另一个数据帧的前5行,并递归地执行此操作,直到两个文件结束 样本数据:在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
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)