[英]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.