为了账号安全,请及时绑定邮箱和手机立即绑定

改进熊猫 tolist() 性能

改进熊猫 tolist() 性能

慕标5832272 2021-09-24 15:45:06
我有以下操作需要1s在具有 200 列的 Pandas 数据帧上执行:for col in mycols:    values = [str(_item) if col_raw_type == 'object' else '{:f}'.format(_item)      for _item in df[col_name].dropna().tolist()      if (_item is not None) and str(_item)]有没有更优化的方法来做到这一点?好像tolist操作有点慢?我在这里尝试做的是转换如下内容:field         field2'2014-01-01'  1.0000000'2015-01-01'  nan变成这样:values_of_field_1 = ['2014-01-01', '2015-01-01']values_of_field_2 = [1.00000,]所以我可以推断列的类型。例如,我想要的最终产品是:type_of_field_1 = DATE # %Y-%m-%dtype_of_field_2 = INTEGER #
查看完整描述

2 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

如果您认为 tolist() 使您的代码变慢,那么您可以删除 tolist()。根本不需要使用 tolist() 。下面的代码会给你相同的输出。


for col in mycols:

    values = [str(_item) if col_raw_type == 'object' else '{:f}'.format(_item) 

     for _item in df[col_name].dropna()

     if (_item is not None) and str(_item)]


查看完整回答
反对 回复 2021-09-24
  • 2 回答
  • 0 关注
  • 195 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信