python-3.x - 如何迭代熊猫中的列标题和行值?
问题描述
对于数据帧 df,我想完成以下操作:(1)遍历列标题并将每个带有“Vol”的标题更改为 Vol_Adj,以及(2)遍历与这些标题对应的值,然后除以它们由标题为“eTIV”的列中的相应值(对于每一行)
这是我尝试过的:
for col in df.columns:
if 'Vol' in col:
df[col] = df.col / df.eTIV
df= df.rename(index=str, columns={col: col + "_Adj"})
我收到以下错误:AttributeError:“DataFrame”对象没有属性“col”。
分解代码时,这将单独工作:
for col in df.columns:
print(col)
这也是如此:
df['one'] = df.one / df.five
就像这样:
df= df.rename(index=str, columns={"three": "three_Adj"})
但是这些命令没有集成在 for 循环中。
解决方案
解决了:
for key,value in df.iteritems():
if 'Vol' in key:
key = key + '_Adj'
value = value / df.five
print(key,value)
推荐阅读
- graphql - 是否可以使用 graphql 多次查询同一个字段
- c++ - 在 C++11 中获取/释放 VS 顺序一致性?
- configuration - .Net Core 2.0 为多个环境配置 Appsettings
- matplotlib - “价值的颜色”没有按预期工作
- python - 使用 matplotlib 和 pandas 库的情节不清楚
- go - gob:类型未注册接口:[]interface {}
- state-management - 如何在 NGXS 中使用 patchState 与 setState?
- javascript - 带有 Google 表格的 Telegram Bot API
- android - Android 检查代码中的单选按钮使其在单选组中保持选中状态
- java - spring 配置的 application-context.xml 文件中的错误