在当今的大数据时代,数据越来越成为企业赢取市场竞争优势的重要资源,然而海量的数据处理是一件非常棘手的任务。Python 作为一种动态语言,具有便捷、高效、灵活的特点,越来越受到大数据处理领域的青睐,下面我们将给出 5 个大数据处理案例,并给出详细代码。
1、数据清洗案例
数据清洗是数据处理的必要步骤,经常遇到因为数据源头不同、输入错误、数据类型不匹配等问题出现的脏数据。下面我们通过一段代码来解决这个问题。
例如:我们要处理的数据中有一个表格中包含了姓名、性别和年龄的信息,每条信息之间以逗号分隔,并且其中某些信息有误或者不完整。我们需要将其清洗成正确、完整的数据集。
import pandas as pd
import numpy as np
# 读入数据
df = pd.read_csv('data.csv',header=None,names=['name','gender','age'])
# 找出性别不合法的行并修改成未知
df.loc[~df.gender.isin(['男','女']),'gender'] = '未知'
# 年龄不合法填充成平均年龄
df.loc[~df.age.astype(str).str.isdigit(),'age'] = df.age.astype(int).mean()
# 姓名中的数字和符号替换为空格
df.name = df.name.str.replace(r'[0-9!"#\$%&\'\(\)\*\+,\/:;<=>?@\[\\\]\^_‘\{\|\}~]',' ')
# 姓名为缺失值的填充为未知姓名
df.loc[df.name.isnull(),'name'] = '未知姓名'
# 打印出处理后的数据
print(df.head())
2、海量数据统计案例
海量数据的统计是数据处理中的重要部分,如果使用传统方法,容易受限于计算机性能。Python 语言与 NumPy 库可以使人们对大数据进行高效统计。下面我们演示一种计算均值、中位数、众数等统计数据的方法。
例如:我们要统计一组有 1 亿条数据的销售数据,并且我们需要求出这些销售数据的均值、中位数和众数。
import numpy as np
# 模拟销售数据
np.random.seed(19900721)
sales = np.random.rand(100000000)*100000
# 求均值
mean = np.mean(sales)
print("销售数据的均值为:",mean)
# 求中位数
median = np.median(sales)
print("销售数据的中位数为:",median)
# 求众数
mode = np.argmax(np.bincount(np.array(sales,dtype=int)))
print("销售数据的众数为:",mode)
3、数据可视化案例
数据可视化是传递信息的有力工具,通过图表将数据中的模式、趋势和异常统计出来,对企业决策起到至关重要的作用。Python 语言中的 Matplotlib、Seaborn 等数据可视化库让我们可以通过简单的代码实现数据可视化。下面我们给出一段代码来实现简单的数据可视化。
例如:我们想要了解某个省份的各级高等学校数量和学科设置情况。
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('data.csv', encoding='utf-8')
# 统计各级高校数量
university_num = df['university'].value_counts()
print('各级高校数量', university_num)
# 统计学科数量
major_num = df['major'].value_counts()
print('学科数量:', major_num)
# 画柱状图
university_num.plot(kind='bar', title='高校数量')
plt.show()
# 画饼图
major_num.plot(kind='pie',legend=True)
plt.show()
4、机器学习预测案例
机器学习是当今大数据领域中的热门技术之一,Python 语言中的 Scikit-Learn 库让企业可以轻松实现机器学习模型的开发。下面我们通过一个电商销售数据的实例来演示如何使用 Scikit-Learn 库进行机器学习预测。
例如:我们有一组数据记录了一家电商的销售情况,每条记录包含两个属性:广告费用和销售额,我们想要根据广告费用预测销售额。
import pandas as pd
from sklearn.linear_model import LinearRegression
# 读入数据
df = pd.read_csv('data.csv',encoding='utf-8')
# 取出广告费用和销售额
X = df.iloc[:, 0:1].values
y = df.iloc[:, 1].values
# 建立线性回归模型
model = LinearRegression()
model.fit(X, y)
# 预测销售额
X_test = [[100000], [200000], [300000]]
y_pred = model.predict(X_test)
# 输出预测结果
print(y_pred)
5、爬虫处理案例
Python 语言在爬虫领域中拥有很高的人气,通过 Python 语言编写的爬虫程序,可以迅速爬取大量的网页数据。数据的获取对于企业的数据分析至关重要,下面我们演示如何使用 Python 编写爬虫程序实现数据获取。
例如:我们需要爬取天猫上的某个品牌的手机产品的信息,包括商品名称、价格、店铺名称、销量等。
import requests
from lxml import etree
# 请求url
url = "https://list.tmall.com/search_product.htm?q=手机&sort=d&style=g&cat=50024402&theme=667&from=mallfp..pc_1_searchbutton"
response = requests.get(url)
# 解析HTML
html = etree.HTML(response.text)
# 获取商品名称、价格、店铺名称、销量等信息
titles = html.xpath('//*[@id="J_ItemList"]/div/div/p[2]/a/text()')
prices = html.xpath('//*[@id="J_ItemList"]/div/div/p[1]/em/text()')
shops = html.xpath('//*[@id="J_ItemList"]/div/div/p[3]/a/span[2]/text()')
sales = html.xpath('//*[@id="J_ItemList"]/div/div/p[4]/span[1]/em/text()')
# 打印结果
for i in range(0, len(titles)):
print(titles[i], prices[i], shops[i], sales[i])
数据处理对于企业来说是至关重要的。企业需要对数据进行统计、分析、预测等。添闻数据公司可以根据企业的需求定制爬虫业务,帮助企业获取大量有价值的数据,并通过 Python 进行高效处理。