亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在另一行之間插入列行

在另一行之間插入列行

呼喚遠方 2021-07-22 18:04:15
我有一個 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非常感謝您的幫助
查看完整描述

2 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

取的列數組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


查看完整回答
反對 回復 2021-07-28
?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

使用ravelarangeDataFrame構造器:

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

或使用melt:


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


查看完整回答
反對 回復 2021-07-28
  • 2 回答
  • 0 關注
  • 209 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號