pandas是py里面用于数据分析及处理的一个库,这个我不多介绍了,下面总结一下它的基本操作和用法
1.Series(序列)
类似Numpy里面的array操作
import numpy as np
import pandas as pd
# 创建Series
a = pd.Series([1,2,3,4])
print(a)
print(a.values)
print(a.index)
b = pd.Series(np.arange(1,10))
print(b)
c = pd.Series({'A':1,'B':2,'C':3})
print(c)
d = pd.Series([1,2,3,4],index=['A','B','C','D'])
d.name='letter'
d.index.name = 'col1 col2'
print(d)
print(d.to_dict())
输出:
0 1
1 2
2 3
3 4
dtype: int64
[1 2 3 4]
RangeIndex(start=0, stop=4, step=1)
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
dtype: int64
A 1
B 2
C 3
dtype: int64
col1 col2
A 1
B 2
C 3
D 4
Name: letter, dtype: int64
{‘A’: 1, ‘B’: 2, ‘C’: 3, ‘D’: 4}
2.Dataframe(数据框):
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
#打开网页并跳转
import webbrowser
link = 'https://www.tiobe.com/tiobe-index/'
webbrowser.open(link)
#获取粘贴板的内容并转换成Dataframe
df = pd.read_clipboard()
print(df)
一个Dataframe可以看成多个Series组成,可以通过多个Series创建Dataframe
Dataframe的IO操作:
方法:to_clipboard(),read_clipboard(),to_csv(),read_csv(),to_json(),read_json(),to_html(),read_html()
to_excel(),read_excel()
DataFrame的Selecting和indexing:
截取特定的行或列用iloc()或者loc()方法,loc()包括后边的index,两者都适用于切片操作
Series和Dataframe的Reindexing:
当Series的索引没有对应值的时候用NaN代替,也可用fill_value参数指定;drop删除指定索引及对应值
当Dataframe的索引没有对应值时,整行整列地用NaN替代;当参数axis为默认0是,drop删除指定的行,当axis为1时,删除指定的列
多级index的Dataframe或者Series就像是一个二维数组包含这多个一维数组(Series),操作是一致的
Mapping和Replace:映射和替换
简单数学运算:
Series:对应值相加减,类似array,比较简单
DataFrame:求和时忽略NaN,可求出对应行和列的值
还有max,min,describe方法
排序:
Series:sort_values()和sort_index(),降序的参数为ascending=False
Dataframe:sort_values(),参数传入对应的行或者列值
DataFrame的merge操作:和数据库的等值连接,自然连接,左外连接,右外连接相似