python数据帧中的等式

python数据帧中的等式,python,dataframe,Python,Dataframe,我在4000列17520行的df中执行一些操作。我必须从df中随机选择5个不同的列,重复这些操作100次。我正在使用以下功能: for i in range(0,100): rand_cols = np.random.permutation(df.columns)[0:5] df2 = df[rand_cols] df2[:,:] *= 2 我的问题如下: df2(df的5个随机列)中的操作是否影响原始df中的列 谢谢不,没有。就像Valentino在评论中建议

我在4000列17520行的df中执行一些操作。我必须从df中随机选择5个不同的列,重复这些操作100次。我正在使用以下功能:

    for i in range(0,100):
    rand_cols = np.random.permutation(df.columns)[0:5]
    df2 = df[rand_cols]
    df2[:,:] *= 2
我的问题如下:

df2(df的5个随机列)中的操作是否影响原始df中的列


谢谢

不,没有。就像Valentino在评论中建议的那样,如果您尝试使用一些虚拟数据帧,您可以看到它没有改变:

df=pd.DataFrame({'c':range(50)})
df2=df.loc[df['c']%2==0,:]
df2*=10
如果你看df,你会发现它没有改变


原因是df2保存df视图,但不保存数据本身

不,不保存。就像Valentino在评论中建议的那样,如果您尝试使用一些虚拟数据帧,您可以看到它没有改变:

df=pd.DataFrame({'c':range(50)})
df2=df.loc[df['c']%2==0,:]
df2*=10
如果你看df,你会发现它没有改变


原因是df2保存的是df视图,而不是数据本身

您尝试过吗?你可以构建一个更小的测试数据帧,使用你的代码,自己检查。你试过了吗?您可以构建一个更小的测试数据帧,使用YRU代码,自己检查。