python - 在 Pandas 数据框中将第二行移到上方一行

标签 python pandas

我有这种形状的数据框:

    A     B     C    D     E 
  213-1  XL   NaN    NaN    NaN
  21   22.0   12   232.0  101.32
  23-0    L   NaN    NaN    NaN
  12     23   12   232.2    NaN
  31-0   LS   NaN    NaN    NaN
  70     70   23     NaN   21.22

我想将该数据帧的第二行移到上面的行,以便只剩下合并的行,如预期结果所示:
     ID   Name     A     B    C     D     E
   213-1    XL    21   22.0  12  232.0  101.32
   23-0      L    12     23  12  232.2     NaN
   31-0     LS    70     70  23    NaN   21.22

Pandas 有可能吗?

最佳答案

我会用concat:

new_df = pd.concat((df.iloc[::2, :2].reset_index(drop=True), 
                    df.iloc[1::2].reset_index(drop=True)),
                   axis=1)

# rename
new_df.columns = ['ID', 'Name'] + new_df.columns[2:].to_list()

输出:
      ID Name   A     B     C      D       E
0  213-1   XL  21  22.0  12.0  232.0  101.32
1   23-0    L  12    23  12.0  232.2     NaN
2   31-0   LS  70    70  23.0    NaN   21.22

关于python - 在 Pandas 数据框中将第二行移到上方一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58819858/

相关文章:

python - 需要在 Python Pandas 中过滤几列并更改其中一列的值

python - 如何访问多索引 Panda 数据框中的先前行

python - 导入 NLTK 时出现 Rubypython 错误

python - 使用 Pandas 数据框作为查找表

python - Pandas 合并 df 错误

Python将数据保存到PostgreSQL : array value error

python - 在 n 维数组上使用 scipy interpn 和 meshgrid

python - tf.reduce_sum 对 axis = -1 做了什么?

python - 在不减慢整个游戏的情况下减慢 pygame 功能

python - Pandas - 阅读 HTML