繁体   English   中英

Pandas 保持值的原始位置

[英]Pandas keep original placement of values

我正在使用以下命令从 dataframe 中删除行中的重复数据:

df = pd.DataFrame(list(map(pd.unique, df.values)))

但是,这会改变我的数据与原始列名的位置,并且在读取数据时我会因为所有数据都被移动而读取错误。 除了删除数据之外,还有一种方法可以在其中放置一个值,例如“none”,以便更容易过滤。

Dataframe:

T1583.005   T1583.006   Resource Development    Resource Development    T1583.001   T1583.002
T1584.005   T1584.006   Resource Development    Resource Development    T1584.005   T1584.002

目前:

T1583.005   T1583.006   Resource Development    T1583.001   T1583.002
T1584.005   T1584.006   Resource Development    T1584.002

预期的:

T1583.005   T1583.006   Resource Development    None    T1583.001   T1583.002
T1584.005   T1584.006   Resource Development    None    None        T1584.002

这样,数据将保留在其原始 position 中,并且可以更轻松地读取。

这是屏蔽每行duplicated值的一种方法:

df.mask([df.loc[idx].duplicated().tolist() for idx in df.index])

           0          1                     2    3          4          5
0  T1583.005  T1583.006  Resource Development  NaN  T1583.001  T1583.002
1  T1584.005  T1584.006  Resource Development  NaN        NaN  T1584.002

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM