如何在 pandas Dataframe 中填充特定位置缺失值
How to fill a specific position missing value in pandas Dataframe
我有一个尺寸为 15 x 15 的 pandas Dataframe。
我正在尝试使用 if 语句填充缺失值。我想填充填充值的镜像位置。例如,if z.values[0, 0] == 1
那么我要将 z.values[15, 15]
值填充为 0,反之亦然。
我正在使用此代码:
if z.values[0, 0] == 1:
z.values[15, 15].fillna() == 0
else:
z.values[15, 15].fillna() == 1
注意:这只是为了 z.values[0, 0]
我还希望所有索引都使用 for 循环或其他方式进行上述编码。
您可以先通过反转索引和列来反转数据框:
>>> df2 = df.loc[df.index[::-1], df.columns[::-1]]
然后,我们将 0 替换为 1,将 1 替换为 0:
>>> df2 = df2.replace({0: 1, 1: 0})
现在,仅在当前值为 null 的地方使用这些值来填充您的数据框:
>>> df[df.isnull()] = df2.values
例如,对于此示例输入:
F4 F3 F2 F1
F4 1 1.0 1.0 1.0
F3 0 1.0 1.0 NaN
F2 1 1.0 NaN NaN
F1 1 NaN NaN NaN
输出是这样的:
F4 F3 F2 F1
F4 1 1.0 1.0 1.0
F3 0 1.0 1.0 0.0
F2 1 1.0 0.0 1.0
F1 1 0.0 0.0 0.0
我有一个尺寸为 15 x 15 的 pandas Dataframe。
我正在尝试使用 if 语句填充缺失值。我想填充填充值的镜像位置。例如,if z.values[0, 0] == 1
那么我要将 z.values[15, 15]
值填充为 0,反之亦然。
我正在使用此代码:
if z.values[0, 0] == 1:
z.values[15, 15].fillna() == 0
else:
z.values[15, 15].fillna() == 1
注意:这只是为了 z.values[0, 0]
我还希望所有索引都使用 for 循环或其他方式进行上述编码。
您可以先通过反转索引和列来反转数据框:
>>> df2 = df.loc[df.index[::-1], df.columns[::-1]]
然后,我们将 0 替换为 1,将 1 替换为 0:
>>> df2 = df2.replace({0: 1, 1: 0})
现在,仅在当前值为 null 的地方使用这些值来填充您的数据框:
>>> df[df.isnull()] = df2.values
例如,对于此示例输入:
F4 F3 F2 F1
F4 1 1.0 1.0 1.0
F3 0 1.0 1.0 NaN
F2 1 1.0 NaN NaN
F1 1 NaN NaN NaN
输出是这样的:
F4 F3 F2 F1
F4 1 1.0 1.0 1.0
F3 0 1.0 1.0 0.0
F2 1 1.0 0.0 1.0
F1 1 0.0 0.0 0.0