所以我有一个数据框列表:yldDF = [dem2y, dem5y, dem10y, dem30y] Unnamed: 0 BBK01.WT02024 2014-01-02 0.215 2014-01-03 0.216 2014-01-04 .7 2014-01-05 .8 2014-01-06 0.209 2014-01-07 0.2110 2014-01-08 0.2111 2014-01-09 0.2312 2014-01-10 0.2113 2014-01-11 .每个数据框看起来像上面那样。现在,当我尝试遍历数据帧以删除“。” 在第二列中它似乎不起作用。dem2y = pd.read_csv("0202.csv")dem5y = pd.read_csv("0505.csv")dem10y = pd.read_csv("1010.csv")dem30y = pd.read_csv("3030.csv")### Begin cleaningyldDF = [dem2y, dem5y, dem10y, dem30y]for i in yldDF: i.drop(i.columns[2], axis = 1,inplace = True) i.drop(range(4),inplace=True) i = i[i[i.columns[1]].apply(lambda x: str(x)!=".")]我已经在单个 Dataframe 上尝试了最后一行,它似乎工作得很好,但是当我将它作为循环的一部分进行尝试时,它似乎没有任何效果。有什么我在这里想念的吗?或者这可能是一个错误?
1 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
如果问题只是i被修改,你可以试试这个技巧:
# Store your `pandas.DataFrame` in a dict
yldDict = {'dem2y': dem2y, 'dem5y': dem5y, 'dem10y': dem10y, 'dem30y': dem30y}
# Loop on the keys of the dict
for keys in yldDict.keys():
df = yldDict.get(keys, 'error') # Get pandas.DataFrame from dict
# Do the operation you need to do
df.drop(df.columns[2], axis = 1, inplace = True)
df.drop(range(4), inplace=True)
df = df[df[df.columns[1]].apply(lambda x: str(x)!=".")]
# Post to dict
yldDict[keys] = df
# Extract from dict
dem2y, dem5y, dem10y, dem30y = yldDict['dem2y'], yldDict['dem5y'], yldDict['dem10y'], yldDict['dem30y']
# Delete dict
del yldDict
添加回答
举报
0/150
提交
取消