当前位置: 首页> 财经> 金融 > 商业计划书_免费商标图案logo_网站建设方案模板_谷歌seo网站建设

商业计划书_免费商标图案logo_网站建设方案模板_谷歌seo网站建设

时间:2025/7/22 19:48:17来源:https://blog.csdn.net/weixin_52593633/article/details/146131811 浏览次数:0次
商业计划书_免费商标图案logo_网站建设方案模板_谷歌seo网站建设

Python 数据分析重点知识点

本系列不同其他的知识点讲解,力求通过例子让新同学学习用法,帮助老同学快速回忆知识点

可视化系列:

  1. Python基础
  2. 数据分析工具
  3. 数据处理与分析
  4. 数据可视化
  5. 机器学习基础
三、数据处理与分析
  • 数据清洗
    • 处理缺失值(删除、填充)、异常值(识别、处理),数据标准化、归一化等。
import pandas as pd
import numpy as np
from sklearn.preprocessing import StandardScaler, MinMaxScaler# 创建示例数据 
#一般是.csv文件或者.xls文件,这里为了清楚直接写了两行数据
data = {'Age': [25, 30, 45, np.nan, 60, 70, 80],'Salary': [50000, 60000, 120000, 150000, 180000, np.nan, 210000]
}
df = pd.DataFrame(data)# 处理缺失值
# 删除含有NaN的行
df_dropped = df.dropna()# 填充缺失值,这里我们用平均值填充
df_filled = df.fillna(df.mean())# 数据标准化
scaler = StandardScaler()
df_standardized = df_filled.copy()
df_standardized[['Age', 'Salary']] = scaler.fit_transform(df_filled[['Age', 'Salary']])# 数据归一化
min_max_scaler = MinMaxScaler()
df_normalized = df_filled.copy()
df_normalized[['Age', 'Salary']] = min_max_scaler.fit_transform(df_filled[['Age', 'Salary']])print("原始数据:\n",df)
print("\n删除缺失值后的数据:\n",df_dropped)
print("\n填充缺失值后的数据:\n",df_filled)
print("\n标准化后的数据:\n",df_standardized)
print("\n归一化后的数据:\n",df_normalized)
  • 数据探索
    • 通过统计方法和可视化手段了解数据特征和分布。
import pandas as pd
import matplotlib.pyplot as pltdata = {'Age': [25, 30, 45, 60, 70, 80],'Salary': [50000, 60000, 120000, 180000, None, 210000]}
df = pd.DataFrame(data)
print(df.describe())plt.figure(figsize=(10, 5))# 绘制年龄的直方图
plt.subplot(1, 2, 1) #可以设置多个子图,表示一行两列的第一个图
plt.hist(df['Age'], bins=5, color='blue', alpha=0.7)
plt.title('Age Distribution')
plt.xlabel('Age')
plt.ylabel('Frequency')# 绘制薪水的直方图
plt.subplot(1, 2, 2) #表示一行两列的第二个图
plt.hist(df['Salary'].dropna(), bins=5, color='green', alpha=0.7)
plt.title('Salary Distribution')
plt.xlabel('Salary')
plt.ylabel('Frequency')# 当你使用 plt.subplot() 创建多个子图时,默认情况下,子图可能会彼此重叠或与边缘过于接近,这会影响图形的可读性。
# 调用 plt.tight_layout() 后,Matplotlib 会自动调整子图的布局,使得它们更加整洁和易于阅读。
plt.tight_layout()
plt.show()

在这里插入图片描述

  • 数据转换
    • 数据类型转换、数据重塑(pivot、melt 等函数),特征工程(创建新特征、特征选择)。
import pandas as pd
import numpy as np# 创建示例数据集
data = {'Date': ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04'],'City': ['New York', 'Los Angeles', 'Chicago', 'Houston'],'Temperature': [32, 75, 68, 85],'Humidity': [85, 60, 70, 90]
}
df = pd.DataFrame(data)
print("原始数据:")
print(df)# 转换日期列为日期时间类型
df['Date'] = pd.to_datetime(df['Date'])# 转换温度和湿度列为浮点数类型
df['Temperature'] = df['Temperature'].astype(float)
df['Humidity'] = df['Humidity'].astype(float)print("\n数据类型转换后的数据:")
print(df.dtypes)# 使用pivot函数重塑数据,意思就是指定数据的行和列
df_pivot = df.pivot(index='City', columns='Date', values='Temperature')
print("\n数据重塑后的数据 (pivot):")
print(df_pivot)# 使用melt函数重塑数据
df_melt = pd.melt(df_pivot.reset_index(), id_vars=['City'], var_name='Date', value_name='Temperature')
print("\n数据重塑后的数据 (melt):")
print(df_melt)# 创建新特征:温度的平方
df['Temperature_Squared'] = df['Temperature'] ** 2
print("\n添加新特征后的数据:")
print(df)# 选择特定的列作为新的特征集
selected_features = df[['City', 'Temperature', 'Humidity']]
print("\n特征选择后的数据:")
print(selected_features)

关于pivot和melt的区别,请先看以上的运行结果然后再理解会更加清楚

  • pivot:

    • index:指定作为新表格行索引的列。

    • columns:指定作为新表格列索引的列。

    • values:指定在新表格中填充数据的列。

  • melt:

    • id_vars:指定在转换过程中保留的列。

    • value_vars:指定要合并的列。

    • var_name:指定新变量列的名称。

    • value_name:指定新值列的名称。

关键字:商业计划书_免费商标图案logo_网站建设方案模板_谷歌seo网站建设

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: