python之pandas的简单使用01

import pandas as pd
import numpy as np

#Series对象,类似一维数组,左边的数据是索引,右边的一列是数据,自动创建
a1 = pd.Series([1,12])
# print(a1)

a2 = pd.Series([[2,3],[2,4]])
# print(a2)


a3 = pd.Series({'A':1})
# print(a3)


a4 = pd.DataFrame(['a','b','c'])
# print(a4)
a5 = np.random.rand(3,4)
# print(a5)
a6 = pd.DataFrame(a5)
# print(a6)


#构造series对象
a7 = pd.Series(data=list('sdfcesc'))
# print(a7)
# print(type(a7))
#通过values取出一维数组
a8 = a7.values
# print(a8)

a9 = pd.Series(data=list('sdfcesc'),index=list('sdfcesc'))
# print(a9)
# print(type(a9))


#通过字典形式,创建series对象
dict_obj = dict(age=12,name='小安')
a10 = pd.Series(dict_obj)
# print(a10)


s1 = pd.Series(data=list('asdfghjkl'),index=list('ASDFGHJKL'))
# print(s1)
#通过索引名称取值
# print(s1['A'])
#按下标来取值
# print(s1[0])



'''标签索引loc'''
# print(s1.loc['A':'H'])
# print(s1.loc[['A','H']])


'''
高级索引取值
loc取行列的索引,iloc取行列的下标
'''
s1 = pd.Series(data=list('asdfghjkl'),index=list('ABCDEFGHI'))
# print(s1)
arr1 = np.random.rand(3,4)
# print(arr1)
p2 = pd.DataFrame(arr1, index=['A','B','C'], columns=['a','b','c','d'])
# print(p2)

#连续取多行
# print(p2.loc['A':'C'])
# print(p2.iloc[0:2])    #此时左闭右开
#不连续取多列
# print(p2.loc[['A','C']])
# print(p2.iloc[[0,2]])
#连续取多行
# print(p2.loc[:,'a':'c'])
# print(p2.iloc[:,0:1])    #此时左闭右开
#不连续取多行
# print(p2.loc[:,['a','c']])
# print(p2.iloc[:,[0,2]])


'''pandas的增删改'''
s1 = pd.Series(data=list('asdfghjkl'),index=list('ABCDEFGHI'))
# print('series对象')
# print(s1)
arr1 = np.random.rand(3,4)
p2 = pd.DataFrame(arr1, index=['A','B','C'], columns=['a','b','c','d'])
# print('dataframe对象')
# print(p2)


'''增加数据'''
#增加一列数据
p2.loc[:,'e'] = p2.loc[:,'b']+1
# print(p2)
#增加一行数据
p2.loc['D'] = p2.loc['A']
# print(p2)


'''修改数据'''
#修改一个数据
p2.loc['A','a'] = 1
# print(p2)
#修改一串数据
p2.loc[:,'b'] = [1,2,3,4]
# print(p2)



'''删除数据'''
p3 = p2.drop('A',axis=0)    #删除的是copy过来的对象里的值,不会改变原来的对象
# print(p3)
# print(p2)

p4 = p2.drop('a',axis=1)
# print(p4)
# print(p2)


'''数据的对齐运算add(),sub(),mul(),div()'''
s1  = pd.Series(range(10,15),index=list('abcde'))
# print(s1)
s2  = pd.Series(range(20,25),index=list('cdefg'))
# print(s2)

#add
s3 = s1.add(s2)
s4 = s1.add(s2,fill_value=100)    #如果找不到对应的就加默认值100
# print(s3)
# print(s4)

#sub
s3 = s1.sub(s2)
# print(s3)

# mul
# 同上

# div()
# 同上


'''数据连接merge'''
d1 = pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('ABCD'))
d2 = pd.DataFrame(np.arange(10,26).reshape(4,4),index=list('cdmn'),columns=list('CDEF'))
# print(d1)
# print(d2)
#
# print(pd.merge(d1,d2))

猜你喜欢

转载自blog.csdn.net/sui_yi123/article/details/83829715
今日推荐