python数据帧中的等式
我在4000列17520行的df中执行一些操作。我必须从df中随机选择5个不同的列,重复这些操作100次。我正在使用以下功能: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在评论中建议
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代码,自己检查。