Python作为一门数据可视化很好的语言,可以使用像matplotlib等库画出图形,处理数据主要使用pandas
这里主要讨论Pandas
大多数人只要提及pandas,基本都知道,只要是学习python的人
Pandas 是 Python 语言的一个扩展程序库,用于数据分析。
Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。
Pandas 名字衍生自术语 “panel data”(面板数据)和 “Python data analysis”(Python 数据分析)。
Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算),其次数series,还有一个DataFrame,这三个比较常用。
Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。
Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。
Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。
Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。
Series:带标签的一维同构数组,一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。
DataFrame:带标签,大小可变,二维异构表格。一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。
一般情况下只要电脑上安装Python后,并将python环境布置入path之中,pandas安装可以在CMD中或者在Anaconda终端进行安装
安装命令
pip install pandas
# 导入pandas库
import pandas as pd
pandas.Series(data, index, dtype, name, copy)
参数说明:
data:一组数据(ndarray 类型)。
index:数据索引标签,如果不指定,默认从 0 开始。
dtype:数据类型,默认会自己判断。
name:设置名称。
copy:拷贝数据,默认为 False。
Demo:
import pandas as pd
a = ["ID", "name", "salary"]
salary_series = pd.Series(a)
print(salary_series)
print(type(salary_series)
代码结果:
index参数
索引是可以修改的
索引只上图的最左边(0,1,2)
import pandas as pd
columns = ['ID', 'Name', 'Salary']
salary_series = pd.Series(columns, index=['x','y','z'])
print(salary_series)
import pandas as pd
a = {1:'Name',2:'salary'}
series = pd.Series(a)
print(series)
import pandas as pd
a = {1:'Id', 2:'Name', 3:'Salary'}
series = pd.Series(a,index=[1,2])
print(series)
pandas.DataFrame(data, index, column, dtype)
data:一组数据(ndarray、series, map, lists, dict 等类型)。
index:索引值,或者可以称为行标签。
columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。
dtype:数据类型。
Demo
import pandas as pd
data = [["one", "ID"], ["two", "Name"], ["three", "Salary"]]
df = pd.DataFrame(data, columns=['first','second'])
print(df)
import pandas as pd
data = {'Name': ['Dante', 'Vergil', 'Nero'],
'Salary': [555, 666, 777]}
df = pd.DataFrame(data)
print(df)
import pandas as pd
data = [{'a':1, 'b':2}, {'a':5, 'b':10, 'c':20}]
df = pd.DataFrame(data)
print(df)
import numpy as np
import pandas as pd
#创建一个Dataframe
data=pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('ABCD'))
print(data)
print('==============================')
# 取第一行
# loc[]括号里跟索引,这里索引是a 所以用a
print('loc取值:\n', data.loc['a'])
print('==============================')
print('iloc取值: \n',df.iloc[0])
import numpy as np
import pandas as pd
#创建一个Dataframe
data=pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('ABCD'))
print(data)
print('===========================')
print('使用loc方法\n')
print(data.loc[:,['A']],'\n')
#取'A'列所有行,多取几列格式为
print(data.loc[:,['A','B']],'\n')
data.loc[['a','b'],['A','B']]
#提取index为'a','b',列名为'A','B'中的数据
print('============================')
print('使用iloc方法\n')
#提取第0、1行,第0、1列中的数据
print(data.iloc[[0,1],[0,1]])
print('============================')
print('使用loc函数,根据某个数据来提取数据所在的行的全部数据')
print(data.loc[data['A']==0]