请帮助我理解如何更改字典中的数据帧。在
让我们考虑最简单的情况,创建两个数据帧并从中构造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
现在我想从dict m
内的数据帧中排除行,例如B
列中的值为零或负数的行。在
我尝试了以下代码:
^{pr2}$或者:
for name,df in m.items():
df=df[df.B>0]
但它不起作用。在
我想我的问题是由于可变/不可变的对象,但我不确定。在
将循环改为:
迭代时需要为字典键赋值:
否则,您将不断重写一个变量
df
,而不是将其存储在任何地方。在如果所有的数据帧都有一致的索引,则应使用
MultiIndex
将它们保持在一起此时可以使用多种过滤方法
^{pr2}$相关问题 更多 >
编程相关推荐