您的位置:首页 > 新闻 > 会展 > 哈尔滨网站改版_织梦网站模板教程_长沙县网络营销咨询_李江seo

哈尔滨网站改版_织梦网站模板教程_长沙县网络营销咨询_李江seo

2025/7/29 23:12:25 来源:https://blog.csdn.net/shaokun305/article/details/142355934  浏览:    关键词:哈尔滨网站改版_织梦网站模板教程_长沙县网络营销咨询_李江seo
哈尔滨网站改版_织梦网站模板教程_长沙县网络营销咨询_李江seo
# Create Date: 2024/9/6 17:03
# About context: test panda
import pandas as pd
# 场景一:数据清洗
# 假设我们有一个包含缺失值和重复值的CSV文件,我们需要清洗数据以便后续分析。
# 读取数据
dataFrame = pd.read_csv('d:\\闸站采集数据表.csv', encoding='GBK')
# 显示前五行数据
print("dataTtype=",type(dataFrame))
print(dataFrame.head())
# print(dataFrame.columns.values)
print("dataFrame.dtypes=",dataFrame.dtypes)
print("dataFrame.keys()=",dataFrame.keys())
print("dataFrame[‘采集时间’][0]=",dataFrame['采集时间'][0])
# print(dataFrame.tail())
# 处理缺失值
dataFrame = dataFrame.dropna()  # 删除含有缺失值的行# dataFrame = dataFrame.fillna(0)  # 或者将缺失值填充为0
# 去除重复值
dataFrame = dataFrame.drop_duplicates()
# 显示处理后的数据
# print(dataFrame.head())data1={'id':[1,2,3,4],'name':['桔子','香蕉','苹果','桃子'],'price':[10,20,10,18],'weight':[100,150,50,80],}
pdData= pd.DataFrame(data1)
print("===========================================")
print(pdData)
# pdData.sort_values(by=['price'],ascending=False)print("-----------------------------------------")
newDF=pdData.sort_values(['price','weight'],ascending=True)
print(newDF)
pdData['price_per_gram']=pdData['price']/pdData['weight']
newDF2=pdData.sort_values(['price','price_per_gram'],ascending=True)
print(newDF2)
print('*****************************')
newDF2.set_index(['id','name'],inplace=True)
print(newDF2)
print('&&&&&&&&&&',newDF2.columns.values)
# newD1=pd.Series([10,14,19,33],index=[1,2,3,4],name='test')
newD1=pd.Series([10,14,19,33,None],index=list('12345'),name='test')
print(type(newD1))
print(newD1)
print(newD1.get('2'))
print("===========================================")# 场景二:数据转换
# 假设我们有一个数据集,其中包含多种数据类型的列。我们需要将特定的列转换为适当的数据类型,以便进行正确的计算。
# 示例数据
data = {'A': ['1', '2', '3'],'B': ['4.1', '5.2', '6.3'],'C': ['2023-01-01', '2023-02-01', '2023-03-01']
}
df = pd.DataFrame(data)# 数据类型转换
df['A'] = df['A'].astype(int)
df['B'] = df['B'].astype(float)
df['C'] = pd.to_datetime(df['C'])# 显示转换后的数据类型
print(df.dtypes)# 场景三:数据合并
# 假设我们有两个数据集,我们需要将它们合并在一起,以便进行综合分析。
# 示例数据
data1 = {'key': ['A', 'B', 'C'],'value1': [1, 2, 3]
}
data2 = {'key': ['A', 'B', 'D'],'value2': [4, 5, 6]
}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)# 数据合并
merged_data = pd.merge(df1, df2, on='key', how='inner')# 显示合并后的数据
print(merged_data)# 场景四:数据分组与聚合
# 假设我们有一个销售数据集,我们需要按地区和月份计算每个地区的总销售额。
# 示例数据
data = {'地区': ['东区', '西区', '南区', '北区', '东区', '西区'],'月份': ['2023-01', '2023-01', '2023-01', '2023-01', '2023-02', '2023-02'],'销售额': [100, 200, 150, 300, 400, 250]
}
df = pd.DataFrame(data)# 数据分组与聚合
grouped_data = df.groupby(['地区', '月份']).sum().reset_index()# 显示分组与聚合后的数据
print(grouped_data)# 场景五:数据筛选
# 假设我们有一个包含多列数据的数据集,我们需要筛选出符合特定条件的行。
# 示例数据
data = {'姓名': ['张三', '李四', '王五', '赵六'],'年龄': [23, 45, 12, 35],'城市': ['北京', '上海', '广州', '深圳']
}
df = pd.DataFrame(data)# 筛选年龄大于30岁的行
filtered_data = df[df['年龄'] > 30]# 显示筛选后的数据
print(filtered_data)# 场景六:数据透视表
# 假设我们有一个包含销售数据的数据集,我们需要生成一个透视表,以便更好地观察数据。
# 示例数据
data = {'产品': ['A', 'B', 'A', 'B', 'A', 'B'],'销售员': ['张三', '李四', '王五', '赵六', '张三', '李四'],'销售额': [100, 200, 150, 300, 400, 250]
}
df = pd.DataFrame(data)# 生成透视表
pivot_table = pd.pivot_table(df, values='销售额', index=['产品'], columns=['销售员'], aggfunc='sum', fill_value=0)# 显示透视表
print(pivot_table)# 场景七:时间序列分析
# 假设我们有一个时间序列数据集,我们需要进行时间序列分析,比如计算移动平均值。
# 示例数据
data = {'日期': pd.date_range(start='2023-01-01', periods=10, freq='D'),'销售额': [100, 200, 150, 300, 400, 250, 300, 350, 200, 150]
}
df = pd.DataFrame(data)# 设置日期为索引
df.set_index('日期', inplace=True)# 计算7天移动平均值
df['移动平均'] = df['销售额'].rolling(window=7).mean()# 显示结果
print(df)# 场景八:数据重塑
# 假设我们有一个长格式的数据集,我们需要将其重塑为宽格式,以便于分析。
# 示例数据
data = {'日期': ['2023-01-01', '2023-01-01', '2023-01-02', '2023-01-02'],'变量': ['A', 'B', 'A', 'B'],'值': [10, 20, 30, 40]
}
df = pd.DataFrame(data)# 重塑数据
reshaped_data = df.pivot(index='日期', columns='变量', values='值')# 显示重塑后的数据
print(reshaped_data)# 场景九:缺失值处理
# 假设我们有一个包含缺失值的数据集,我们需要填充这些缺失值以便进行后续分析。
# 示例数据
data = {'A': [1, 2, None, 4],'B': [None, 2, 3, 4],'C': [1, None, None, 4]
}
df = pd.DataFrame(data)# 填充缺失值
# df.fillna(method='ffill',inplace=True)  # 向前填充
df.bfill() # 向前填充 新版本的写法# 显示填充后的数据
print(df)# 场景十:数据合并与连接
# 假设我们有两个数据集,我们需要通过特定的键进行连接。
# 示例数据
left_data = {'key': ['K0', 'K1', 'K2', 'K3'],'A': ['A0', 'A1', 'A2', 'A3'],'B': ['B0', 'B1', 'B2', 'B3']
}
right_data = {'key': ['K0', 'K1', 'K2', 'K4'],'C': ['C0', 'C1', 'C2', 'C4'],'D': ['D0', 'D1', 'D2', 'D4']
}
left = pd.DataFrame(left_data)
right = pd.DataFrame(right_data)# 数据连接
result = pd.merge(left, right, how='left', on='key')# 显示连接后的数据
print(result)

版权声明:

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

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