Pandas学习之路【1】
安装pandas:
pip install pandas
pandas读取数据:
| 读取方式 | |
|---|---|
| csv, tsv, txt | pd.read_csv |
| Excel | pd.read_excel |
| mysql |
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.
# 创建一个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']])
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
-
如果是查询一行、一列,返回的是pd.Series
-
# 查询一列 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类型

浙公网安备 33010602011771号