我有多个数据帧,我想对每个数据帧进行过滤,以便每个df只保留由单词“total”组成的列。我有以下for循环,但其效果与我手动执行时不同[aka y15=y15.filter(like='totall')]
pit_dfs = [y15,y16,y17]
for i in pit_dfs:
i = i.filter(like='Overall')
可复制示例:
y15 = pd.DataFrame({'Col1-Overall': ['a','b','c','d'],
'Col2': ['a','b','c','d'],
'Col3': ['a','b','c','d'],
'Col4': ['a','b','c','d']})
y16 = pd.DataFrame({'Col1-Overall': ['a','b','c','d'],
'Col2': ['a','b','c','d'],
'Col3': ['a','b','c','d'],
'Col4': ['a','b','c','d']})
y17 = pd.DataFrame({'Col1-Overall': ['a','b','c','d'],
'Col2': ['a','b','c','d'],
'Col3': ['a','b','c','d'],
'Col4': ['a','b','c','d']})
预期产出:
y15
+--------------+
| Col1-Overall |
+--------------+
| a |
+--------------+
| b |
+--------------+
| c |
+--------------+
| d |
+--------------+
y16
+--------------+
| Col1-Overall |
+--------------+
| a |
+--------------+
| b |
+--------------+
| c |
+--------------+
| d |
+--------------+
y17
+--------------+
| Col1-Overall |
+--------------+
| a |
+--------------+
| b |
+--------------+
| c |
+--------------+
| d |
+--------------+
我知道这是一个简单的例子,但在过去的一个小时里,我一直在查看堆栈,没有找到类似的例子。我错过了什么?谢谢
请参见this answer和this example关于Python
for
循环。循环中的变量是而不是指针,因此您不会更改实际的数据帧您可以这样做(我还没有测试):
这里有一个替代方案:
相关问题 更多 >
编程相关推荐