科技公司网站设,二次开发是什么,wordpress图片分享主题,wordpress大气流程
读取数据
original_data pd.read_csv(“Penguins.csv”) original_data.head()
评估和清理数据
cleaned_data original_data.copy() #备份
结构
original_data.sample(5) 数据符合“每个变量为一列#xff0c;每个观察值为一行#xff0c;每种类型的观察单位为一…流程
读取数据
original_data pd.read_csv(“Penguins.csv”) original_data.head()
评估和清理数据
cleaned_data original_data.copy() #备份
结构
original_data.sample(5) 数据符合“每个变量为一列每个观察值为一行每种类型的观察单位为一个表格”才不存在结构性问题。
内容
更改数据类型
cleaned_data[“sex”]cleaned_data[“sex”].astype(“category”)——把分类变量从object变成category
空缺值
cleaned_data.info()——了解大概哪列缺缺多少 cleaned_data[cleaned_data[“culmen_length_mm”].isnull()]——提取缺失值对应的行
cleaned_data.drop(3, inplaceTrue)——缺失得太厉害没有价值的行直接删除。 缺失性别变量的观察值具备其它数据仍然可以为分析提供价值。由于Pandas以及Matplotlib、Seaborn会自动忽略缺失值可以保留这些行。
重复值
**根据数据变量的含义以及内容来看允许变量重复**我们不需要对此数据检查是否存在重复值。
什么是不能重复的比如学号。
不一致数据
重点检查分类变量。 cleaned_data[“sex”].value_counts()
sex列里存在一个英文句号值并不代表任何有效性别我们应当把该值替换为NaN空值。 cleaned_data[‘sex’] cleaned_data[‘sex’].replace(“.”, np.nan)
脱离实际的数据
cleaned_data.describe() 从以上统计信息来看cleaned_house_price里不存在脱离现实意义的数值。
数据可视化探索
sns.set_palette(“pastel”) #设置图表色盘为pastel
单个分类变量——饼图
species_count cleaned_data[“species”].value_counts() #统计类别对应的个数 plt.pie(species_count,labelsspecies_count.index,autopct“%.1f%%”) #标签就用统计生成的标签索引
可以看出比例分布。
两两分类变量——countplothue颜色分类
sns.countplot(datacleaned_data, x“island”, hue“species”) 可以显示不同岛上的企鹅种类数量。
数值变量之间的关系——pairplot
sns.pairplot(cleaned_data) 如果要根据种类进行细分 sns.pairplot(cleaned_data, hue‘species’)
补充
.astype() astype() 参数目标数据类型。 返回一个新的 Series如果是对 DataFrame 的某一列操作或 DataFrame如果是对整个 DataFrame 操作其数据类型已经按照指定的参数进行了转换。原始的 Series 或 DataFrame 并不会被直接修改。
三种赋值方式
cleaned_data original_data纯引用赋值 并没有创建一个新的对象而是让 cleaned_data 和 original_data 指向内存中的同一个对象。也就是说这两个变量实际上是同一个对象的不同名称。
cleaned_data original_data.copy()浅拷贝 浅拷贝会创建一个新的对象但是如果原对象中的元素是可变对象如列表、字典等它只会复制引用。也就是说那么新对象和原对象中的这些可变元素仍然会指向同一个内存地址。 当你修改 cleaned_data 中的子列表时original_data 中的对应子列表也会被修改。
cleaned_data original_data.copy(deepTrue)深拷贝 深拷贝会递归地复制对象及其所有嵌套的对象创建一个完全独立的新对象它们在内存中没有任何共享的部分。 当你修改 cleaned_data 中的子列表时original_data 不会受到影响。
综上简单赋值只是创建引用浅拷贝复制对象结构但共享嵌套的可变对象而深拷贝则创建一个完全独立的副本。
在原数据中删除行
cleaned_data.drop([3,339], inplaceTrue)等价于cleaned_data cleaned_data.drop([3,339]) 当使用 inplaceTrue 时drop 方法会直接在原 DataFrame 上进行修改不会返回新的对象。
替换元素
replace 是 pandas 中 Series 和 DataFrame 对象都有的一个方法其作用是将指定的值替换为其他值。 第一个参数 “.” 表示要被替换的值 第二个参数 np.nan 是 NumPy 库中的 NaN值。所以cleaned_data[‘sex’] cleaned_data[‘sex’].replace(“.”, np.nan)的意思是把 cleaned_data[‘sex’] 列中所有值为 “.” 的元素替换为 NaN。
饼图
plt.pie(species_count,labelsspecies_count.index,autopct“%.1f%%”) labels不仅可以传Series还可以传列表等其它可迭代对象。所以这里直接用species_count
配对图
sns.pairplot(datacleaned_data,hue“species”,kind“reg”, plot_kws{‘scatter_kws’:{‘alpha’:0.3}}) #对种类细分并增加回归线修改点的透明度
**kind 参数用于指定非对角线子图即散点图的绘制类型。**设置为 “reg” 表示在散点图的基础上添加线性回归拟合线。这样可以帮助我们直观地观察变量之间的线性关系趋势。默认值是kind“scatter”。
plot_kws{‘scatter_kws’:{‘alpha’:0.3}} plot_kws 是一个字典类型的参数用于传递额外的绘图选项这些选项会被应用到所有的子图上。 其中 ‘scatter_kws’ 是 plot_kws 字典中的一个键它对应的值也是一个字典专门用于设置散点图的相关属性。 ‘alpha’: 0.3 是 scatter_kws 字典中的一个键值对alpha 表示透明度取值范围是 0 到 10 表示完全透明1 表示完全不透明。这里设置为 0.3意味着散点图中的数据点会有一定的透明度当数据点比较密集时使用较低的透明度可以避免数据点相互遮挡更清晰地展示数据的分布情况。单个散点图直接加上’alpha’: 0.3参数就好。