赞
踩
如题。
一般来说在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))
好,现在我们想要让‘ZN’这一列中的0全部改成20
不要用loc之类的,应该是这样
ss=x['ZN'].values
for i,name in enumerate(ss):
if name == 0:
ss[i]=20
x['ZN']=ss
这种方式会快很多
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。