Pandas学习之路【1】

发布时间 2023-12-02 19:06:48作者: 映辉

安装pandas:

pip install pandas

  

pandas读取数据:

数据类型读取方式
csv, tsv, txt pd.read_csv
Excel pd.read_excel
mysql pd.read_sql

 

1.读取csv文件数据

import pandas as pd

# 文件路径
path = 'C:\\Users\\zhang\\Desktop\\ant-learn-pandas-master\\datas\\titanic\\titanic_test.csv'

# 读取数据
ratings = pd.read_csv(path)

# 查看数据的形状, (行数,列数)
ratings.shape

# 查看列名
ratings.columns

# 查看每一列的数据类型
ratings.dtypes

# 查看索引列
ratings.index

# 查看前几行数据
ratings.head()

  

2.读取txt文件【需要自己指定列的分隔符, 自己定义列名】

path = 'C:\\Users\\zhang\\Desktop\\ant-learn-pandas-master\\mydata.txt'


# 参数解释:
# path:路径
# sep:分隔符
# header=None,文件中没有表头
# names:读取数据后自己定义的表头 字段名

pvnv = pd.read_csv(
    path,
    sep='\t',
    header=None,
    names=['pdate', 'pv', 'nv']
)

  

3.读取Excel文件数据

path = 'C:\\Users\\zhang\\Desktop\\ant-learn-pandas-master\\39. pdf_chinese_english.xlsx'

pvuv = pd.read_excel(path)

  

4.读取MySQL数据库的表数据

# 创建数据库连接
import pymysql

conn = pymysql.connect(
		host = '127.0.0.1',
		user = 'root',
		password = '123456',
		database = 'testdb',
		chartset = 'utf8'
)


# 读取mytb表的数据
mysql_data = pd.read_sql('select * from mytb', con = conn)

  

5.pandas的数据结构【DataFrame, Series

DataFrame:整个表格数据,二维数据

Series:一行或一列,一维数据

  创建series的三种方式:

方式一:根据列表创建一个简单的series

# 创建一个series s1
s1 = pd.Series([1, 'a', 2.5, 7])

# 获取s1的索引
s1.index

# 获取s1的数据
s1.values

  

方式二:创建一个具有标签索引的series【不再使用默认的数字作为索引,而是使用自定义的标签作为索引】

s2 = pd.Series([1, 'a', 2.5, 7], index=['a', 'b', 'c', 'd'])

# 获取s2的索引
s2.index

# 获取s2的数据
s2.values

  

方式三:使用字典创建一个series

sdata = {'a': 100, 'b': 200, 'c': 300, 'd': 400}

s3 = pd.Series(sdata)

# 获取s3的索引【sdata中的keys】
s3.index

# 获取s3的数据【sdata中的values】
s3.values

  

  查询Series的数据:

# 查看全部
print(s3)

# 查看某一个索引的值
s3['a']

# 查看数据类型
type(s3['a'])

# 查看多个值
s3[['a', 'b']]

# 查看类型
type(s3[['a', 'b']])

  

DataFrame ** 结构【表格类型】:

使用字典创建一个DataFrame:

data = {
	'state': [1,2,3,4,5,6],
	'year': [1,2,3,4,5,6],
	'pop': [1,2,3,4,5,6]
}

df = pd.DataFrame(data)    # 创建后的表格为:6行3列

# 查看类型
df.dtypes

# 查看列名
df.columns

# 查看索引
df.index

  

从DataFrame中查询Series:

  • 如果是查询一行、一列,返回的是pd.Series

  • 如果是查询多行、多列,返回的是pd.DataFrame

# 查询一列
df['year']

type(df['year'])  # 返回的是pd.Series类型

# 查询多列
df[['year', 'pop']]

type(df[['year', 'pop']])  # 返回的是pd.DataFrame类型

  

# 查询一行
# 查询index=1的一行
df.loc[1]

type(df.loc[1])  # 返回的是pd.Series类型

# 查询多行
# 查询:第1行-第3行
df.loc[1:3]

type(df.loc[1:3])  # 返回的是pd.DataFrame类型