我想使用下面的代码只连接到中的行。我试过改变concat方法的索引和轴,但没有成功。
df = pd.DataFrame(({'C1':['a','b','c','a','b','c'], 'C2':[1,2,3,4,5,6], 'C3':[1,2,3,4,5,6]}))
dfNew = pd.DataFrame()
for name, group in df.groupby('C1', sort=False):
dfNew = pd.concat([dfNew, group, pd.Series(np.nan)])
实际产量:
C1 C2 C3 0
0 a 1.0 1.0 NaN
1 a 4.0 4.0 NaN
0 NaN NaN NaN NaN
0 b 2.0 2.0 NaN
1 b 5.0 5.0 NaN
0 NaN NaN NaN NaN
0 c 3.0 3.0 NaN
1 c 6.0 6.0 NaN
0 NaN NaN NaN NaN
所需输出:
C1 C2 C3
0 a 1.0 1.0
1 a 4.0 4.0
0 NaN NaN NaN
0 b 2.0 2.0
1 b 5.0 5.0
0 NaN NaN NaN
0 c 3.0 3.0
1 c 6.0 6.0
0 NaN NaN NaN
Thank you.
1条答案
按热度按时间gfttwv5a1#
您的解决方案可能会被新的
DataFrame
更改:非循环解决方案可以通过附加一个DataFrame按列
C1
DataFrame.sort_values
排序,最后按DataFrame.sort_index
排序索引: