通过参考更改熊猫数据框

我有两个不想复制的大型DataFrame,但希望对其应用相同的更改。如何正确执行此操作?例如,这类似于我要执行的操作,但是规模较小。这只会创建提供每个DataFrame结果的临时变量df,但我希望两个DataFrame都可以自己更改:

import pandas as pd
df1 = pd.DataFrame({'a':[1,2,3]})
df2 = pd.DataFrame({'a':[0,1,5,7]})
for df in [df1, df2]:
    df = df[df['a'] < 3]
评论
  • 陌生到认识
    陌生到认识 回复

    不要以为这是最好的解决方案,但是应该做得到。

    import pandas as pd
    df1 = pd.DataFrame({'a':[1,2,3]})
    df2 = pd.DataFrame({'a':[0,1,5,7]})
    dfs = [df1, df2]
    for i, df in enumerate(dfs):
        dfs[i] = df[df['a'] < 3]
    
    
    dfs[0]
    
       a
    0  1
    1  2
    
  • Antoi
    Antoi 回复

    We can do query with inplace

    df1 = pd.DataFrame({'a':[1,2,3]})
    df2 = pd.DataFrame({'a':[0,1,5,7]})
    for df in [df1, df2]:
        df.query('a<3',inplace=True)
    
    df1
       a
    0  1
    1  2
    df2
       a
    0  0
    1  1