目录
前言
Pandas是一个开源的Python库,提供了高性能、易于使用的数据结构和数据分析工具。Pandas的主要数据结构是Series(一维数据)和DataFrame(二维数据),它们可以处理各种类型的数据,如数值、字符串、时间序列等。Pandas库是基于NumPy的数组计算,提供了丰富的功能和高效的性能,使得它成为了数据分析中最常用的Python库之一
一、Pandas的安装:
第一个方法通过PyPI的pip工具安装,在系统界面打开cmd命令窗口,在命令提示符窗口输入安装命令如下: pip insatall Pandas。这是最简单的一个方法。
第二个可以通过PyCharm开发环境安装,选择File/Settings命令,打开Settings窗口,选择Project Interperter选项,点击添加按钮,然后打开Available Packages窗口,在搜索文本框中输入需要添加的模块名称 :Pandas 在列表中选择安装即可。
Numpy是Python进行科学计算,尤其是数据分析时,所用到的一个基础库。Numpy库的基础:Ndarray。Numpy数组的维数和元素
数量由数组的型(shape)来决定,数组的型由N个正整数组成的元组来指定,元组的每个元素对应每一维的大小。数组的维统称为轴(axes),轴的数量被称作秩(rank)。
Pandas是一个专门用于数据分析的开源Python库 。pandas的核心为两大数据结构,分别是Series(一维)和DataFrance(多维)。pandas有各种灵活的函数可以进行统计、排序相关性和协方差的计算、处理NAN数据、登机索引和分级。pandas还有一组I/O API工具,可进行数据读写。
二、如何利用Pandas读取文件
现已得到这样的一个excel表,存放的是招聘C语言开发工程师的岗位信息,表格中的数据均已清洗过,现在想读取表格中的数据到python,要怎么实现呢?我们在这里以获取数据中出现的所有省份为例,统计出现的各省份名称及个数,代码很简单,如下:
运行结果如下:
D:\anaconda\python.exe “D:/Python workSpace/readFile.py”
[‘贵阳’, ‘呼和浩特’, ‘兰州’, ‘沈阳’, ‘包头’, ‘南京’, ‘成都’, ‘贵州省’, ‘黔东南’, ‘深圳’, ‘南宁’, ‘银川’, ‘上海’, ‘呼伦贝尔’, ‘北京’, ‘广州’, ‘甘肃省’, ‘遵义’, ‘珠海’, ‘佛山’, ‘中山’, ‘惠州’, ‘河源’, ‘江门’, ‘广东省’, ‘汕头’, ‘无锡’, ‘湛江’, ‘武汉’, ‘长沙’, ‘清远’, ‘杭州’, ‘肇庆’, ‘东莞’, ‘云浮’, ‘厦门’, ‘海口’, ‘揭阳’, ‘福州’, ‘青岛’, ‘济南’, ‘哈尔滨’, ‘淄博’, ‘漳州’, ‘山东省’, ‘长春’, ‘郑州’, ‘宁波’, ‘合肥’, ‘天津’, ‘浙江省’, ‘大连’, ‘芜湖’, ‘泉州’, ‘六安’, ‘南昌’, ‘黑龙江省’, ‘铜陵’, ‘三门峡’, ‘金华’, ‘烟台’, ‘上饶’, ‘萍乡’, ‘洛阳’, ‘马鞍山’, ‘桂林’, ‘宁德’, ‘柳州’, ‘贺州’, ‘景德镇’, ‘滁州’, ‘贵港’, ‘威海’, ‘鹰潭’, ‘潍坊’, ‘赣州’, ‘济宁’, ‘广西’, ‘三亚’, ‘昆明’, ‘枣庄’, ‘苏州’, ‘西安’, ‘湖州’, ‘南阳’, ‘台州’, ‘嘉兴’, ‘湖南省’, ‘安徽省’, ‘湘潭’, ‘龙岩’, ‘德州’, ‘岳阳’, ‘泰安’, ‘吉安’, ‘东营’, ‘廊坊’, ‘九江’, ‘淮北’, ‘宿州’, ‘临沂’, ‘莱芜’, ‘日照’, ‘徐州’, ‘抚州’, ‘常州’, ‘新余’, ‘义乌’, ‘福建省’, ‘株洲’, ‘南平’, ‘怀化’, ‘莆田’, ‘重庆’, ‘南通’, ‘襄阳’, ‘黄石’, ‘昆山’, ‘十堰’, ‘江苏省’, ‘鄂州’, ‘燕郊开发区’, ‘雄安新区’, ‘咸宁’, ‘邯郸’, ‘太仓’, ‘常熟’, ‘唐山’, ‘绵阳’, ‘湖北省’, ‘张家港’, ‘荆门’, ‘温州’, ‘淮安’, ‘石家庄’, ‘茂名’, ‘泰州’, ‘太原’, ‘梅州’, ‘宜昌’, ‘邢台’, ‘舟山’, ‘镇江’, ‘海宁’, ‘乌鲁木齐’]
145
三、pandans可以用于数据处理
-
#引用numpy和pands
-
import pandas as pd
-
import numpy as ny
-
import os
-
#读取数据
-
train = pd.read_csv('train.csv')
逐块的读取数据
pd.read_csv('train.csv',chunksize = 1000)
更改表头
#必须与原表头一一对应
train.columns = ['xxx','xxx',......,'xxx']
四、如何利用Pandas写入数据到新文件
那么,如果只是将数据整合后的结果在控制台输出,会对后续可视化操作带来不便,最好是可以将这新数据整合到一个新文件中。那么怎么写入数据到新的excel文件呢?下面我们统计一下各个地区(市)及出现的频数,并将其数据整合到新的表格文件testClassifyArea.xls中。
# coding:utf-8
import pandas as pd
import xlwt
city_list = []
province_list = []
everyCity_num=[]
rows = 0
class ClassifyArea(object):
def __init__(self):
pass
def deal_file(self, xls_file):
global city_list
global province_list
global rows
global everyCity_num
data = pd.read_excel(xls_file, 'Sheet1')
rows = data.shape[0] # 获取行数,shape[1]获取列数
for i in range(rows):
temp = str(data['省'][i]).strip()
# 这里是原先的表格属性名称出了点问题,这一列的名称本来应该是“市”
if temp is not '' and '省' not in temp and temp not in city_list:
city_list.append(str(temp))
everyCity_num.append(int(0))
print(city_list)
print(len(city_list))
for j in range(rows):
temp = str(data['省'][j]).strip()
for k in range(len(city_list)):
if str(temp) == str(city_list[k]):
everyCity_num[k] = everyCity_num[k] + 1
print(everyCity_num)
print(len(everyCity_num))
def save_file(self):
global city_list
global province_list
global everyCity_num
f = xlwt.Workbook() # 创建工作薄
sheet1 = f.add_sheet(u'Sheet1', cell_overwrite_ok=True) # 创建sheet
# 在表格的第一行第一列和第二列分别写上标题“市”和“出现频数”
sheet1.write(0, 0, '市' )
sheet1.write(0, 1, '出现频数')
# 在表格的第一列写入各个城市的名称
n = 1
for city in city_list:
sheet1.write(n, 0, city)
n = n + 1
# 在表格的第二列统计并写入各个城市名称出现的频数
p = 1
for num in everyCity_num:
sheet1.write(p, 1, num)
p = p + 1
f.save('testClassifyArea.xls ') # 保存文件到testClassifyArea.xls
file = ClassifyArea()
file.deal_file(r"D:\zh学习\软赛\清洗后的数据\java 1.xlsx")
五、总结
Pandas是Python中一个非常流行的数据处理库,它提供了快速,灵活和富有表现力的数据结构,旨在使数据清洗和分析变得更加简单和直观。Pandas的好处包括:
-
数据清洗:Pandas提供了一组强大的工具,可以轻松地处理缺失数据,重复数据和异常值等问题。
-
数据转换:Pandas可以轻松地将数据从一种格式转换为另一种格式,例如从CSV文件到数据库或从JSON文件到CSV文件。
-
数据分析:Pandas提供了一组强大的工具,可以轻松地对数据进行分组,聚合和统计分析。
-
数据可视化:Pandas可以与其他Python可视化库(如Matplotlib和Seaborn)结合使用,以创建各种类型的图表和可视化效果。
-
Pandas是Python的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观的处理关系型、标记型数据。
Pandas适用于处理以下类型的数据:与SQL或Excel表类似的,含异构列的表格数据;
有序和无序(非固定频率)的时间序列数据;
带行列标签的矩阵数据,包括同构或异构型数据;
任意其它形式的观测、统计数据集,数据转入Pandas数据结构时不必事先标记。 -
学习Python基础知识。数据分析需要处理大量的数据,因此Python的速度和内存管理功能使其成为数据分析领域中的一种通用工具。掌握Python的基础知识可以帮助我们更好地理解和应用数据分析的相关框架和工具。了解Python的常用数据类型、操作符、控制流语句、函数、模块和文件等基础知识。例如,我们需要学习使用NumPy进行数字计算和数据处理,使用Pandas进行数据统计和分析,使用Matplotlib和Seaborn进行数据可视化等常见工具