Python 更改DataFrame中某些条件的值,并将其保存到新df,而不影响原始df
下面是一个例子。我将熊猫数据框写为一个列表,以便更容易阅读:Python 更改DataFrame中某些条件的值,并将其保存到新df,而不影响原始df,python,pandas,dataframe,indexing,Python,Pandas,Dataframe,Indexing,下面是一个例子。我将熊猫数据框写为一个列表,以便更容易阅读: df_0 = [1,2,3] 我想将大于2的值更改为np.nan,并将新的数据帧保存为新变量df_1。最终结果: df_0 = [1,2,3] df_1 = [1,2,np.nan] 数据框中的列名是什么?比如说,它是COL。然后你可以做: df_1 = df_0.copy() df_1.loc[df_1['COL'] >= 2, 'COL'] = np.nan 数据框中的列名是什么?比如说,它是COL。然后你可以做: d
df_0 = [1,2,3]
我想将大于2的值更改为np.nan,并将新的数据帧保存为新变量df_1。最终结果:
df_0 = [1,2,3]
df_1 = [1,2,np.nan]
数据框中的列名是什么?比如说,它是
COL
。然后你可以做:
df_1 = df_0.copy()
df_1.loc[df_1['COL'] >= 2, 'COL'] = np.nan
数据框中的列名是什么?比如说,它是
COL
。然后你可以做:
df_1 = df_0.copy()
df_1.loc[df_1['COL'] >= 2, 'COL'] = np.nan
您只需在此处设置
掩码
df_1=df_0.mask(df_0>2)
df_1
Out[291]:
0 1.0
1 2.0
2 NaN
dtype: float64
df_0
Out[292]:
0 1
1 2
2 3
dtype: int64
您只需在此处设置
掩码
df_1=df_0.mask(df_0>2)
df_1
Out[291]:
0 1.0
1 2.0
2 NaN
dtype: float64
df_0
Out[292]:
0 1
1 2
2 3
dtype: int64
此外,还有一个关键字
,其中可以使用
df_0 = pd.Series([1,2,3])
df_1 = df_0.where(df_0 <= 2)
0 1.0
1 2.0
2 NaN
dtype: float64
df_0=pd.系列([1,2,3])
df_1=df_0。where(df_0此外,还有一个关键字where
,您可以使用它
df_0 = pd.Series([1,2,3])
df_1 = df_0.where(df_0 <= 2)
0 1.0
1 2.0
2 NaN
dtype: float64
df_0=pd.系列([1,2,3])
df_1=df_0。其中(df_0