DataFrame到列表列表,而值的数据类型没有更改


问题内容

df.values.to_list()list(df.values)将数据框转换为列表列表,但整数值转换为浮点值

DataFrame是,

   HSCode  value  year
0       2   0.18  2018
1       3   0.00  2018
2       4  12.48  2018
3       6   0.00  2018
4       7   1.89  2018

所需的输出是

[[2,0.18,2018],[3,0.00,2018]..]

但是df.values.tolist()

[[2.0,0.18,2018.0],...]

问题答案:

itertuples

list(map(list, df.itertuples(index=False)))

[[2, 0.18, 2018],
 [3, 0.0, 2018],
 [4, 12.48, 2018],
 [6, 0.0, 2018],
 [7, 1.89, 2018]]

简洁一点

而且可读性差得多

[*map(list, zip(*map(df.get, df)))]

[[2, 0.18, 2018],
 [3, 0.0, 2018],
 [4, 12.48, 2018],
 [6, 0.0, 2018],
 [7, 1.89, 2018]]