替换 NaN 值并将数字条目移动到 NaN 位置
Replace NaN values and shift numeric entries to NaN places
我有一个奇怪的数据框,如下图所示。我想删除所有 NaN 条目并将数字条目移动到数据框的左侧。
每行有 1000 个条目,但其中 30 个是数字,其余是 NaN。
我遇到的困难是行之间没有同步。对于前 6 行,数字条目是从 969 到 999 列。对于接下来的 6 行,数字条目是从 968 到 998 列,这个序列持续 56053 行。
这符合您的示例吗?
df = pd.DataFrame([[1, 3, np.nan], [np.nan, 4, 2]])
dg = pd.concat([row.dropna().reset_index(drop = True).to_frame().T
for idx, row in df.iterrows()
],
axis = 0,
)
或
dh = df.apply(lambda row : row.dropna().reset_index(drop = True), axis = 1)
我有一个奇怪的数据框,如下图所示。我想删除所有 NaN 条目并将数字条目移动到数据框的左侧。
每行有 1000 个条目,但其中 30 个是数字,其余是 NaN。
我遇到的困难是行之间没有同步。对于前 6 行,数字条目是从 969 到 999 列。对于接下来的 6 行,数字条目是从 968 到 998 列,这个序列持续 56053 行。
这符合您的示例吗?
df = pd.DataFrame([[1, 3, np.nan], [np.nan, 4, 2]])
dg = pd.concat([row.dropna().reset_index(drop = True).to_frame().T
for idx, row in df.iterrows()
],
axis = 0,
)
或
dh = df.apply(lambda row : row.dropna().reset_index(drop = True), axis = 1)