note: 我没有按照每一种技术方法的顺序讲,可能会跳到另外一种,因为在学习中遇到问题突然要学另外一种技术。但是题目标注的很清晰,可以按这个来看。祝大家元旦快乐!
----
'''''''''
name:pikachu
keyword: python-pandas学习(一)Pandas数据结构详解
version:1.0
date:20181231
参考资料:小象社区
'''
importnumpyasnp
importpandasaspd
'''1 Pandas常用的数据结构有两种:Series和DataFrame'''
'''1.1 Series:带有名称和索引的一维数组'''
user_age=pd.Series(data=[18,30,25,40])
user_age.index=['Tom','Bob','Mary','James']
user_age.index.name='Name'
user_age.name='user_age_info'
print(user_age)
print()
#快速实现
#构建索引
name=pd.Index(['Tom','Bob','Mary','James'],name='Name')
#构建Series
user_age=pd.Series(data=[18,30,25,40],index=name,name='user_age_info')
print(user_age)
print()
#获取Series中的数据
a=user_age['Tom']
b=user_age.get('Tom')
print(a,b)
print()
c=user_age[:3]
print(c)
print()
d=user_age[user_age>30]
print(d)
print()
'''1.2 DataFrame:带有索引的二维数据结构'''
index=pd.Index(data=['Tom','Bob','Mary','James'],name='name')
data={
'age':[18,30,25,40],
'city':['Beijing','Shanghai','Guangzhou','Shenzhen']
}
user_info=pd.DataFrame(data=data,index=index)
print(user_info)
print()
#另外一种构建方式
data=[
[18,'Beijing'],
[30,'Shanghai'],
[25,'Guangzhou'],
[40,'Shenzhen']
]
columns=['age','city']
user_info=pd.DataFrame(data=data,index=index,columns=columns)
print(user_info)
print()
#访问行列
e=user_info.loc['Tom']
print(e)
print()
f=user_info.iloc[]
print(f)
print()
g=user_info[['city','age']]
print(g)
print()
#增删行列
user_info['sex']=['male','female','male','female']
# user_info.pop('sex')
#如果要保证原有的DataFrame不变
a=user_info.assign(age_add_one=user_info['age']+1)
print(a)
b=user_info.assign(sex_code=np.where(user_info['sex']=='male',1,))
print(b)
output(partly):
领取专属 10元无门槛券
私享最新 技术干货