1.Series
1.1创建
1.1.1空创建
import pandas as pd
series_one = pd.Series(dtype='f8')
print('空对象:\n', series_one)
1.1.2标准创建
pandas.Series(数据列表,index:索引列表)
import pandas as pd
index1=['a','b','c']
value1=[1,2,3]
list=pd.Series(value1,index=index1)
print(list)
'''输出为
a 1
b 2
c 3
dtype: int64
'''
1.1.3字典创建与列表创建
import pandas as pd
value1=[1,2,3]
print(pd.Series(value1))
print('====')
dict1={'a':1,'b':2,'c':3,'d':4}
print(pd.Series(dict1))
'''输出为
0 1
1 2
2 3
dtype: int64
====
a 1
b 2
c 3
d 4
dtype: int64
'''
1.2查看函数
1.2.1head函数
默认为前5行数据查看
import pandas as pd
value1=[1,2,3]
list1=pd.Series(value1)
print(list1.head(2))
'''输出为
0 1
1 2
dtype: int64
'''
以上例子为查看前两行,如果把list1.head(2)换为list1.head()就是默认的前5行
1.2.2tail函数
tail函数与head函数一样,但为查看后几行,默认为后5行
import pandas as pd
value1=[1,2,3]
list1=pd.Series(value1)
print(list1.tail(2))
'''输出为
1 2
2 3
dtype: int64
'''
1.3判断函数
1.3.1isnull函数
判断是否具有空值,是空值返回True,否则返回False
import pandas as pd
value1=[1,2,3,None]
list1=pd.Series(value1)
print(list1.isnull())
'''输出为
0 False
1 False
2 False
3 True
dtype: bool
'''
1.3.2notnull函数
判断是否具有空值,是空值返回False,否则返回True
import pandas as pd
value1=[1,2,3,None]
list1=pd.Series(value1)
print(list1.notnull())
'''输出为
0 True
1 True
2 True
3 False
dtype: bool
'''
2DataFrame
2.1创建
2.1.1标准创建
pandas.DataFrame(数据数组,index:行标签数组,columns:列标签数组)
import pandas as pd
import numpy as np
value1=np.arange(1,17).reshape(4,-1)
list1=pd.DataFrame(value1,index=['e','f','j','h'],columns=['a','b','c','d'])
print(list1)
'''输出为
a b c d
e 1 2 3 4
f 5 6 7 8
j 9 10 11 12
h 13 14 15 16
'''
2.1.2字典创建与数字组创建
import pandas as pd
import numpy as np
value1=np.arange(1,17).reshape(4,-1)
list1=pd.DataFrame(value1)
print(list1)
print("====")
dict={"name":['a','b','c'],'age':[1,2,3]}
print(pd.DataFrame(dict))
print("====")
dict2=[{'name':'a','age':1},{'name':'b','age':2},{'name':'c','age':3,'axe':"man"}]
print(pd.DataFrame(dict2,columns=['name','age']))
print('====')
print(pd.DataFrame(dict2,columns=['name','age','axe']))
'''输出为
0 1 2 3
0 1 2 3 4
1 5 6 7 8
2 9 10 11 12
3 13 14 15 16
====
name age
0 a 1
1 b 2
2 c 3
====
name age
0 a 1
1 b 2
2 c 3
====
name age axe
0 a 1 NaN
1 b 2 NaN
2 c 3 man
'''
3.列操作
3.1选取数据
直接利用索引经行
3.1.1对于Series
import pandas as pd
value1=[1,2,3]
list1=pd.Series(value1)
print(list1)
print('====')
print(list1[1])
'''输出为
0 1
1 2
2 3
dtype: int64
====
2
'''
3.1.2对于DataFrame
import pandas as pd
value1=[[1,2,3],[4,5,6],[7,8,9]]
list1=pd.DataFrame(value1,columns=['a','b','c'])
print(list1)
print('====')
print(list1['a'])
'''输出为
a b c
0 1 2 3
1 4 5 6
2 7 8 9
====
0 1
1 4
2 7
Name: a, dtype: int64
'''
3.2添加数据
3.2.1Series
import pandas as pd
value1=[1,2,3]
list1=pd.Series(value1)
print(list1)
print('====')
list1[4]=5
print(list1)
'''输出为
0 1
1 2
2 3
dtype: int64
====
2
'''
3.2.2DataFrame
import pandas as pd
value1=[[1,2,3],[4,5,6],[7,8,9]]
list1=pd.DataFrame(value1,index=['a','b','c'],columns=['e','f','j'])
print(list1)
print('====')
list1['h']=5
print(list1)
'''输出为
e f j
a 1 2 3
b 4 5 6
c 7 8 9
====
e f j h
a 1 2 3 5
b 4 5 6 5
c 7 8 9 5
'''
3.3修改数据
3.3.1直接索引修改
import pandas as pd
value1=[[1,2,3],[4,5,6],[7,8,9]]
list1=pd.DataFrame(value1,index=['a','b','c'],columns=['e','f','j'])
print(list1)
print('====')
list1['e']=[1,2,3]
print(list1)
'''输出为
e f j
a 1 2 3
b 4 5 6
c 7 8 9
====
e f j
a 1 2 3
b 2 5 6
c 3 8 9
'''
3.4删除数据
通过drop方法删除 DataFrame 中的数据,默认情况下,drop() 不会修改原 DataFrame,而是返回一个新的 DataFrame。(副本)
属性:
labels:类型:单个标签或列表。描述:要删除的行或列的标签。如果 axis=0,则 labels 表示行标签;如果 axis=1,则 labels 表示列标签。
axis:类型:整数或字符串,默认为 0。描述:指定删除的方向。axis=0 或 axis='index' 表示删除行,axis=1 或 axis='columns' 表示删除列。
index:类型:单个标签或列表,默认为 None。描述:要删除的行的标签。如果指定,则忽略 labels 参数。
columns:类型:单个标签或列表,默认为 None。描述:要删除的列的标签。如果指定,则忽略 labels 参数。
level:类型:整数或级别名称,默认为 None。描述:用于多级索引(MultiIndex),指定要删除的级别。
inplace:类型:布尔值,默认为 False。描述:如果为 True,则直接修改原 DataFrame,而不是返回一个新的 DataFrame。
errors:类型:字符串,默认为 'raise'。描述:指定如何处理不存在的标签。'raise' 表示抛出错误,'ignore' 表示忽略错误。
import pandas as pd
value1=[[1,2,3],[4,5,6],[7,8,9]]
list1=pd.DataFrame(value1,index=['a','b','c'],columns=['e','f','j'])
print(list1)
print('====')
print(list1.drop(['a'],axis=0))
'''输出为
e f j
a 1 2 3
b 4 5 6
c 7 8 9
====
e f j
b 4 5 6
c 7 8 9
'''