在python中利用pandas构建数组结构学习的第一天

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
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值