2024-04-25 18:13:48 发布
网友
我有一个由两列组成的df,如下所示:
rows A B 0 1 7 1 9 11 2 20 30 3 32 35
我想创建另一列,以便将列A的每一行插入列B的两行之间
输出如下所示:
rows C 0 7 1 9 2 11 3 20 4 30 5 32 6 35
非常感谢你的帮助
将^{}与^{}和DataFrame构造函数一起使用:
DataFrame
a = df[['A','B']].values.ravel()[1:] df1 = pd.DataFrame({'rows':np.arange(len(a)), 'C':a}) print (df1) rows C 0 0 7 1 1 9 2 2 11 3 3 20 4 4 30 5 5 32 6 6 35
您还可以检查What is the difference between flatten and ravel functions in numpy?
或者使用^{}:
df1 = (df.melt(['rows'], value_name='C') .sort_values('rows')['C'] .iloc[1:] .reset_index(drop=True) .rename_axis('rows') .reset_index()) print (df1) rows C 0 0 7 1 1 9 2 2 11 3 3 20 4 4 30 5 5 32 6 6 35
获取列A和B的数组,然后使用flatten或ravel并从第一个索引获取值:
A
B
flatten
ravel
df1 = pd.DataFrame(df[['A','B']].values.flatten()[1:],columns=['C']).\ reset_index().rename(columns={'index':'rows'}
或:
df1 = pd.DataFrame(df[['A','B']].values.ravel()[1:],columns=['C']).\ reset_index().rename(columns={'index':'rows'})
print(df1) rows C 0 0 7 1 1 9 2 2 11 3 3 20 4 4 30 5 5 32 6 6 35
将^{} 与^{} 和
DataFrame
构造函数一起使用:您还可以检查What is the difference between flatten and ravel functions in numpy?
或者使用^{} :
获取列
A
和B
的数组,然后使用flatten
或ravel
并从第一个索引获取值:或:
相关问题 更多 >
编程相关推荐