【问题标题】:Panda dataframe making every unique ID number NAT使每个唯一 ID 号 NAT 的熊猫数据框
【发布时间】:2019-01-21 10:41:58
【问题描述】:

我有一个数据框,对于每个 unqiue ID,将第一个“Diff”列设为 NaT,例如我的数据开始看起来像

index   DEVICE_ID      DIFF
0        12             Nat
1        12              20
2        12              30
3        13              40
4        13              40
5        13              21
6        14               9
7        14              10    

但我希望生成的数据框如下所示

index   DEVICE_ID      DIFF
0        12             Nat
1        12              20
2        12              30
3        13             Nat
4        13              40
5        13              21
6        14             Nat
7        14              10

抱歉问题措辞不佳

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:

使用df.duplicated()df.loc

df.loc[~df.DEVICE_ID.duplicated(),'DIFF'] = pd.NaT
>>df

   index  DEVICE_ID DIFF
0      0         12  NaT
1      1         12   20
2      2         12   30
3      3         13  NaT
4      4         13   40
5      5         13   21
6      6         14  NaT
7      7         14   10

【讨论】:

  • 谢谢解答,我只想问~df.DEVICE_ID.duplicated() 是什么意思?
  • @samari708 df.duplicated() 为除第一个重复值之外的所有重复值提供 True,而 ~ 是一个反转条件的符号,基本上是提取第一个重复值。 :)
猜你喜欢
  • 2015-01-30
  • 2021-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-27
  • 1970-01-01
  • 2018-06-10
相关资源
最近更新 更多