【发布时间】:2015-11-26 22:39:28
【问题描述】:
以下行将pandas.Dataframe 对象中的所有列转换为数字。
columns = ['a', 'b']
dft = pd.DataFrame(data=[['1','2'], ['3','4'],['5','6']], columns=columns)
for col in columns:
dft[col] = pd.to_numeric(dft[col])
效果很好,但 for ... in: 很丑。
我怎么说使用lambda 函数和/或list comprehension 让这个循环在一行中工作?
(我尝试了很多东西,但我不知道如何将pd.to_numeric() 的结果分配给数据框中每一列的变量名)
【问题讨论】:
-
"
for ... in:很丑" - 对我来说看起来不错。很清楚发生了什么,但不清楚为什么您认为有问题! -
您要转换所有列还是只转换某些列?
-
这里碰巧这些都是列,但我实际上想(仅)转换给定列列表中的列。
标签: python pandas lambda dataframe list-comprehension