繁体   English   中英

将 nan 值水平填充到 dataframe

[英]Horizontally filling nan values into dataframe

我有一个大的 dataframe,数据设置如下:

df = [
[0, 1, 2, nan, nan, 5, nan, nan],
[nan, 1, 2, 3, nan, nan, 6, nan],
[nan, nan, 3, 4, nan, 6, nan, nan]
 ]

Expected Output: 
df=[
[0, 1, 2, nan, nan, nan, nan, nan], 
[nan, 1, 2, 3, nan, nan, nan, nan],
[nan, nan, 3, 4, nan, 6, nan, nan]
]

我试图找出一个应用 function 按行删除值并在出现数值时用 nan 替换它们,然后是 nan 值,基本上删除数据中的 5 和 6 值。

谢谢!

很难理解你的意思,但如果你只是想用 nan 替换给定的值,你可以使用 np.where

df = pd.DataFrame(np.where(df==5, np.nan, df))

我通过遍历列来解决这个问题(知道我以为我想做一个行循环,但这很有效)。 我通过查看所有先前的行来确定这一点,确定是否有一个 nan、一个数字、一个 nan,以及当前列是否是数字。

感谢所有的帮助!

暂无
暂无

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

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