目录
文件读取:
pandas可以简单的读取csv,excel,txt,如下:
import pandas as pd
#read csv
df_csv = pd.read_csv('1.csv')
#read excel
pd_excel = pd.read_excel('/Users/j.levis/PycharmProjects/爬豆瓣榜单/豆瓣榜单.xlsx')
#read txt
pd_txt = pd.read_table('2.txt')
读写的相关参数:
header=None 表示第一行不作为列名
index_col 表示把某一列或几列作为索引
usecols 表示读取列的集合
parse_dates 表示 需要转化为时间的列
nrows 表示读取的数据行数
以我之前爬取的豆瓣榜单为例:
pd_excel = pd.read_excel('/Users/j.levis/PycharmProjects/爬豆瓣榜单/豆瓣榜单.xlsx',usecols=['排名','书名'],nrows=5)
排名 书名
0 1 红楼梦
1 2 活着
2 3 1984
3 4 百年孤独
4 5 三体全集
数据结构:
seriers:
Series 一般由四个部分组成,分别是序列的值 data 、索引 index 、存储类型 dtype 、序列的名字 name 。index默认为空.
object类型 代表了一种混合类型,正如上面的例子中存储了整数、字符串以及 Python 的字典数据结构。
s = pd.Series(data=[1,'你好',{'你好':'hello','再见':'bye'}],dtype='object',name = 'myname',index=['one','two','three'])
one 1
two 你好
three {'你好': 'hello', '再见': 'bye'}
Name: myname, dtype: object
s['one']
1
dataframe:
DataFrame 在 Series 的基础上增加了列索引,一个数据框可以由二维的 data 与行列索引来构造
df = pd.DataFrame(
data=[[1,2,3],[2,3,4],[4,5,6]]
)
0 1 2
0 1 2 3
1 2 3 4
2 4 5 6
#index/列名默认012
设置列名:
df = pd.DataFrame(
data={'col1':[1,2,3],'col2':['a','b','c'],'col3':['m','n','k']}
)
col1 col2 col3
0 1 a m
1 2 b n
2 3 c k
设置index:
df = pd.DataFrame(
data={'col1':[1,2,3],'col2':['a','b','c'],'col3':['m','n','k']},
index=['row1','row2','row3']
)
col1 col2 col3
row1 1 a m
row2 2 b n
row3 3 c k
可以直接写入excel:
df.to_excel('1.xlsx')
提取列:
在 DataFrame 中可以用 [col_name] 与 [col_list] 来取出相应的列与由多个列组成的表, 结果分别为 Series 和 DataFrame :
df['col2']
row1 a
row2 b
row3 c
Name: col2, dtype: object
df[['col1','col2']]
col1 col2
row1 1 a
row2 2 b
row3 3 c
提取行
用loc函数可以提取行:
df.loc[['row1']]
col1 col2 col3
row1 1 a m
dataframe转置:
df.T
row1 row2 row3
col1 1 2 3
col2 a b c
col3 m n k
常用基本函数:
样例文件:learn_pandas.csv
df = pd.read_csv('learn_pandas.csv')
df = df[df.columns[:7]]#取前七列
School Grade Name Gender Height Weight Transfer
0 A Freshman Gaopeng Yang Female 158.9 46.0 N
1 B Freshman Changqiang You Male 166.5 70.0 N
2 A Senior Mei Sun Male 188.9 89.0 N
3 C Sophomore Xiaojuan Sun Female NaN 41.0 N
4 C Sophomore Gaojuan You Male 174.0 74.0 N
.. ... ... ... ... ... ... ...
195 C Junior Xiaojuan Sun Female 153.9 46.0 N
196 D Senior Li Zhao Female 160.9 50.0 N
197 A Senior Chengqiang Chu Female 153.9 45.0 N
198 A Senior Chengmei Shen Male 175.3 71.0 N
199 D Sophomore Chunpeng Lv Male 155.7 51.0 N
汇总函数:
head(n)返回前n行
df.head(3)
School Grade Name Gender Height Weight Transfer
0 A Freshman Gaopeng Yang Female 158.9 46.0 N
1 B Freshman Changqiang You Male 166.5 70.0 N
2 A Senior Mei Sun Male 188.9 89.0 N
tail(n)返回后n行
df.tail(3)
School Grade Name Gender Height Weight Transfer
197 A Senior Chengqiang Chu Female 153.9 45.0 N
198 A Senior Chengmei Shen Male 175.3 71.0 N
199 D Sophomore Chunpeng Lv Male 155.7 51.0 N
info()返回df的信息概况:
`python
df.info()
RangeIndex: 200 entries, 0 to 199
Data columns (total 7 columns):
# Column Non-Null Count Dtype
Original: https://blog.csdn.net/weixin_67016521/article/details/126467417
Author: Freshman小白
Title: pandas基础
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/677461/
转载文章受原作者版权保护。转载请注明原作者出处!