Помогите, пожалуйста, разобраться, как изменить фреймы данных в словаре.
Давайте рассмотрим простейший случай, создадим два фрейма данных и создадим из них dict.
dates = pd.date_range('20130101',periods=6)
df1 =pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))
df2 =pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))
DICTOR={}
DICTOR['d1']=df1
DICTOR['d2']=df2
m=DICTOR
Теперь я хочу исключить строки из DataFrames внутри dict m
, например строки со значениями в столбцах B
, которые равны нулю или отрицательны.
Я попробовал следующий код:
for name,df in m.items():
for index, row in df.iterrows():
if df.at[index,'B']<0:
df.drop(index,axis=0)
или
for name,df in m.items():
df=df[df.B>0]
но это не работает.
Полагаю, моя проблема в изменчивых / неизменных объектах, но я не уверен.