python - 如何在系列上获取熊猫应用功能的行索引
问题描述
我有一个 DataFrame,我将其拆分为列系列(下面代码段中的 col_series),并对每个系列中的每个值使用应用测试。但是我想报告当我检测到错误时系列中的哪一行受到影响。
...
col_series.apply(self.testdatelimits, args= \
(datetime.strptime('2018-01-01', '%Y-%m-%d'), key))
def testlimits(self, row_id, x, lowerlimit, col_name):
low_error = None
d = float(x)
if lowerlimit != 'NA' and d < float(lowerlimit):
low_error = 'Following record has column ' + col_name + ' lower than range check'
if low_error is not None:
self.set_error(col_index, row_id, low_error)
当然以上失败了,因为 x 是一个 str 并且没有 name 属性。我在想也许我可以传入系列中的行索引,但不清楚如何做到这一点?
编辑:我改用列表理解来解决这个问题,而不是 ps apply。它也明显更快
col_series = col_series.apply(pd.to_datetime, errors='ignore')
dfwithrow = pd.DataFrame(col_series)
dfwithrow.insert(0, 'rowid', range(0, len(dfwithrow)))
dfwithrow['lowerlimit'] = lowlimit
dfwithrow['colname'] = 'fred'
list(map(self.testdatelimits, dfwithrow['rowid'], dfwithrow[colvalue[0]], \
dfwithrow['lowerlimit'], dfwithrow['colname']))
解决方案
推荐阅读
- javascript - 文件上传无法插入表单并单击文件查看
- arraylist - 片段在 onCreateView() 中的 recyclerView 上被赋予空值
- code-coverage - 通过 gcov 和 lcov 对 cpp 的 Android 原生单元测试覆盖率
- layout - web表单,反编译dll,如何获取布局文件?
- ios - 无法识别的选择器发送到 instance-Swift
- apache-spark - Pyspark pandas_udf 中的 ArrayType 元素不正确
- docker - Docker 缓存失效
- javascript - defaultValue 不会改变...下拉反应
- javascript - 命名函数分配给变量
- magento - 不能为发票和装运邮件修改运输变量