pandas - 使用两个 for 循环将字符串解析为数据帧
问题描述
我有一个代码,我正在尝试使用两个列表来实现。代码的要点如下;
import pandas as pd
import numpy as np
LX = ['A','B','C','D']
DX =['col1','col2','col3','col4','col5','col6']
my_dfs = {}
for name in LX:
my_dfs[name] = pd.read_csv(r"C:\HSTS\OB\ODO\%s.csv" % name, delimiter=';')
cols = [0,19,20,21,22,23,24]
my_dfs[name]=my_dfs[name][my_dfs[name].columns[cols]]
my_dfs[name].columns = ['col1','col2','col3','col4','col5','col6']
for dx in DX:
my_dfs[name]['dx'] = my_dfs[name]['dx'].diff().abs()
第一个 for 循环没有问题,LX 列表中的字符串被解析为数据帧。第二个 for 循环是问题,我无法将字符串解析到数据框中。目标是要有榜样;
my_dfs[name]['col1'] = my_dfs[name]['col1'].diff().abs()
my_dfs[name]['col2'] = my_dfs[name]['col2'].diff().abs()
解决方案
似乎问题在于您的第二个循环'dx'
每次都传递一个文字字符串,而不是变量dx
:
改变
...
for dx in DX:
my_dfs[name]['dx'] = my_dfs[name]['dx'].diff().abs()
至
...
for dx in DX:
my_dfs[name][dx] = my_dfs[name][dx].diff().abs()
推荐阅读
- reactjs - 在生产中部署反应应用程序时CSS未完成
- javascript - 如何在 jQuery 验证器中为一条规则添加一条自定义消息并为所有其他规则添加默认消息
- wordpress - Uncode WordPress 主题,WooCommerce 图像翻转/悬停更改
- ruby-on-rails - 生产 dockerized rails-application 中没有日志
- jquery - 我正在使用 smsArea() 函数来计算 keyup 事件上的文本,但是当通过 jq 附加值时如何计算该文本?
- android - 如何使用 ConnectivityManager.NetworkCallback()
- kubernetes - 如何在ansible中获取kubernetes节点名称和IP地址作为字典?
- javascript - 如何禁用 Vue 组件属性到特殊字符的转换?
- r - 从 excel 表中获取数据将它们作为下拉菜单放在闪亮的应用程序中
- permissions - 限制 Corda 网络中节点的流量访问