【发布时间】:2018-08-21 15:11:35
【问题描述】:
我想根据不同 Pandas 数据框中的 Nan 值的位置,将 Pandas 数据框中的值更改为 Nan。我想在数组中的多个位置执行此操作。因此,如果它位于索引(行)值相同的数组的开头,则它可以工作。如果我想将它设置为在箭头中偏移 20 行然后再偏移 40 行,我该怎么做。
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': list(range(0,100)), 'B': list(range(0,100))})
df2_null = df2.isnull()
df[df2_null] = np.NaN
df.iloc[0:4]
df2 = pd.DataFrame({'A': [1, None, 1, 1], 'B': [None, 1, None, 1]})
df2_null = df2.isnull()
df[df2_null] = np.NaN
df.iloc[0:4]
如何让它在下面工作? 因为第一行给出了一个错误,而第二行无论我在哪里执行它都会重现所有 np.Nan 。我一直无法弄清楚如何做到这一点。
df.iloc[20:24][df2_null] = np.Nan
df.loc[df[df2_null].iloc[20:24].index] = np.NaN
【问题讨论】:
标签: python pandas dataframe pandas-groupby array-broadcasting