通过参考更改熊猫数据框

时间:2020-05-23 15:36:05

标签: python pandas dataframe

我有两个不想复制的大型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]

2 个答案:

答案 0 :(得分:2)

我们可以用queryinplace

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

答案 1 :(得分:0)

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

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