首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多列数据转移到左边的Pandas Dataframe

将多列数据转移到左边的Pandas Dataframe
EN

Stack Overflow用户
提问于 2018-11-15 04:41:42
回答 2查看 1.1K关注 0票数 2

我想把整个列的数据移到左边。只有数据应该移到左边1次,列应该是固定的。你能告诉我怎么做吗?

初步数据如下:

代码语言:javascript
复制
              A1   A2   A3   A4   A5
     #0001    421  000  000  777  888
     #0002    382  403  430  320  055
     #0003    441  304  403  403  403
     #0004    430  403  206  N/A  312
     #0005    N/A  394  493  N/A  403

欲望数据是:

代码语言:javascript
复制
              A1   A2   A3   A4   A5
     #0001    000  000  777  888  N/A
     #0002    403  430  320  055  N/A
     #0003    304  403  403  403  N/A
     #0004    403  206  N/A  312  N/A
     #0005    394  493  N/A  403  N/A
EN

回答 2

Stack Overflow用户

发布于 2018-11-15 04:56:27

试试这个简单的循环:

代码语言:javascript
复制
for i in range(len(df.columns)-1):  # loop till last but one column
    df.iloc[:,i] = df.iloc[:,i+1]   # each column gets values of next column

df[i+1] = np.nan                    # for last column;

输出:

代码语言:javascript
复制
        A1   A2     A3   A4  A5
#0001    0    0  777.0  888 NaN
#0002  403  430  320.0   55 NaN
#0003  304  403  403.0  403 NaN
#0004  403  206    NaN  312 NaN
#0005  394  493    NaN  403 NaN
票数 2
EN

Stack Overflow用户

发布于 2018-11-15 04:46:47

双转置与shift

代码语言:javascript
复制
df = df.T.shift(-1,axis=0).T

print(df)

          A1     A2     A3     A4  A5
#0001    0.0    0.0  777.0  888.0 NaN
#0002  403.0  430.0  320.0   55.0 NaN
#0003  304.0  403.0  403.0  403.0 NaN
#0004  403.0  206.0    NaN  312.0 NaN
#0005  394.0  493.0    NaN  403.0 NaN

实际上,df.shift(-1,axis=1)应该可以工作,但是代码中有错误:

代码语言:javascript
复制
print(df.shift(-1,axis=1))
          A1     A2     A3  A4  A5
#0001  777.0    0.0  888.0 NaN NaN
#0002  320.0  430.0   55.0 NaN NaN
#0003  403.0  403.0  403.0 NaN NaN
#0004    NaN  206.0  312.0 NaN NaN
#0005    NaN  493.0  403.0 NaN NaN
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53312540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档