首先,test.data文件里面内容为:
1,2,3
1,2,3
1,2,3
python3 代码如下:
import pandas as pd
from collections import defaultdict
def fun(x):
x = int(x)+1
return x
converters1 = {i: fun for i in range(3)}
converters2 = defaultdict(lambda: fun)
d1 = pd.read_csv('./test.data', header=None, converters=converters1)
d2 = pd.read_csv('./test.data', header=None, converters=converters2)
输出:
问题是为什么用converters1出来的结果就是对的,而converters2出来的结果是错的?
其他参考输出:
因为内部使用的是get方法吧(一般不会直接用d[k]这种索引方式):
所以自然就不做conversion