我有以下操作需要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)]
添加回答
举报
0/150
提交
取消