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

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

在熊貓df中移動等于特定值的行

在熊貓df中移動等于特定值的行

料青山看我應如是 2022-05-24 13:06:05
我不確定哪個是解決這個問題的最有效過程,所以我會很廣泛。我想將where與特定值shift結合起來。對于下面的內容,我想提高價值所在。但我想將它與上面的字符串結合起來,而不是覆蓋它。row==dfshift rows==X注意:row我要shift升級的是每個14th row. 所以每隔 n 次row及shift以上選擇一次可能更容易?df = pd.DataFrame({    'Value' : ['Foo','X','00:00','00:00','29:00','30:00','00:00','02:00','15:00','20:00','10:00','15:00','20:00','25:00'],                     'Number' : [00,0,1,2,3,4,5,6,7,8,9,10,11,12],                          })val = ['X']a = df[df.isin(val)].shift(-1)df[df.isin(val)] = np.nanout_df = a.combine_first(df)出去:    Value  Number0       X     0.01     NaN     0.02   00:00     1.03   00:00     2.04   29:00     3.05   30:00     4.06   00:00     5.07   02:00     6.08   15:00     7.09   20:00     8.010  10:00     9.011  15:00    10.012  20:00    11.013  25:00    12.0預期輸出:    Value  Number0   Foo X     0.02   00:00     1.03   00:00     2.04   29:00     3.05   30:00     4.06   00:00     5.07   02:00     6.08   15:00     7.09   20:00     8.010  10:00     9.011  15:00    10.012  20:00    11.013  25:00    12.0
查看完整描述

1 回答

?
一只斗牛犬

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

你可以嘗試這樣的事情:


df.groupby((df['Value'] != val[0]).cumsum())[['Value','Number']].agg({'Value':' '.join, 'Number':'sum'})

輸出:


       Value  Number

Value               

1      Foo X       0

2      00:00       1

3      00:00       2

4      29:00       3

5      30:00       4

6      00:00       5

7      02:00       6

8      15:00       7

9      20:00       8

10     10:00       9

11     15:00      10

12     20:00      11

13     25:00      12


查看完整回答
反對 回復 2022-05-24
  • 1 回答
  • 0 關注
  • 79 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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