当前位置:   article > 正文

解决pandas loc iloc ix速度极慢的问题_pandas loc 条件筛选 太慢了

pandas loc 条件筛选 太慢了

如题。
一般来说在pandas上不要去改值,而是把要改值的那一列全部提出来,统一修改后,直接覆盖原引用。
下面给一个例子供大家参考

import pandas as pd
import numpy as np
from sklearn.datasets import load_boston
import matplotlib.pyplot as plt
dataset = load_boston()
x_data = dataset.data # 导入所有特征变量
y_data = dataset.target # 导入目标值(房价)
name_data = dataset.feature_names #导入特征名
x=pd.DataFrame(x_data,columns=name_data)
x=x.join(pd.DataFrame(y_data))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

好,现在我们想要让‘ZN’这一列中的0全部改成20
不要用loc之类的,应该是这样

ss=x['ZN'].values
for i,name in enumerate(ss):
	if name == 0:
		ss[i]=20
x['ZN']=ss
  • 1
  • 2
  • 3
  • 4
  • 5

这种方式会快很多

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/210228
推荐阅读
相关标签
  

闽ICP备14008679号