我有一个很大的数据框。我试图通过遍历行和列来清理这些行。我发现这需要很长时间。所以我想用pd.应用(),但在执行过程中遇到问题。你知道吗
这是一个永远的尝试:
def elim_com(x):
try:
x.replace(',',' ')
except ValueError:
return x
def to_number(x):
try:
x=float(x)
return(x)
except ValueError:
return x
for row in range(df.shape[0]):
for column in range(0,dfconvertendum.shape[1],1):
try:
dfconvertendum.iloc[row,column]=elim_com(dfconvertendum.iloc[row,column])
except TypeError:
continue
except AttributeError:
continue
for row in range(df.shape[0]):
for column in range(0,df.shape[1],1):
try:
dfconvertendum.iloc[row,column]=to_number(dfconvertendum.iloc[row,column])
except TypeError:
continue```
Here is my attempt using apply:
```## Clean using apply
def elim_com(x):
try:
x.replace(',',' ')
except ValueError:
return x
def to_number(x):
try:
x=float(x)
return(x)
except ValueError:
return x
dfconvertendum=dfconvertendum.apply(elim_com)
dfconvertendum=dfconvertendum.apply(to_num)
我们的目标是在当前有一个名为object的df数据类型的地方使用带有float的单个df。我也试过用数字来描述,但它会以不变的方式把事情搞砸。我想稍微洗一下。我想把不是简单的带逗号的数字,去掉逗号,转换成浮点数。 最好的!你知道吗
事实上,如果你不想表现得粗鲁一点,那么你的代码就是低效的。关于
pandas
的一个优点是,您可以执行向量化操作,速度非常快。假设您知道要将哪些列转换为float,以及要在哪些列中删除逗号,则可以执行以下操作:编辑:根据您的反馈更改答案
我做到了。我的把戏是用np.NaN公司,然后做一个pd.应用. 这允许我根据需要对\ u值()进行排序。你知道吗
相关问题 更多 >
编程相关推荐