pandas 练习-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

pandas 练习

简介: from pandas import Series, DataFrame # Series接收list或dict作为一维数据 #两个属性:values, index #① s1 = Series([4,7,-5,3]) print(s1.
from pandas import Series, DataFrame

# Series接收list或dict作为一维数据
#两个属性:values, index
#
s1 = Series([4,7,-5,3])
print(s1.values) #
print(s1.index)  #序列号
s1.index = ['a','b','c','d']
print(s1)
#
s2 = Series({'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000})
print(s2)

#DataFrame接收matrix或dict(要求item为list)作为二维数据
# 三个属性:values, index, columns
#
data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'],
        'year': [2000, 2001, 2002, 2001, 2002],
        'pop': [1.5, 1.7, 3.6, 2.4, 2.9]}
f1 = DataFrame(data)
print(f1.values) #
print(f1.index)     #行序列(号)
print(f1.columns)#列序列(号)
#
f2 = DataFrame(data, columns=['year', 'state', 'pop'])
#
f3 = DataFrame(data, columns=['year', 'state', 'pop', 'debt'], index=['one', 'two', 'three', 'four', 'five'])



#重要的功能
##1.重新索引
#① Series
s1 = Series([4.5, 7.2, -5.3, 3.6], index=['d', 'b', 'a', 'c'])
s2 = s1.reindex(['a', 'b', 'c', 'd', 'e'])
s3 = s1.reindex(['a', 'b', 'c', 'd', 'e'], fill_value=0)

s4 = Series(['blue', 'purple', 'yellow'], index=[0, 2, 4])
s5 = s4.reindex(range(6), method='ffill')

#② DataFrame
f1 = DataFrame(np.arange(9).reshape((3, 3)), index=['a', 'c', 'd'], columns=['Ohio', 'Texas', 'California'])
f2 = f1.reindex(index=['a', 'b', 'c', 'd'])                #行序列(号)
f3 = f1.reindex(columns=['Texas', 'Utah', 'California'])#列序列(号)



##2.索引,挑选和过滤
# .at, .iat, .loc, .iloc .ix

# 1)类似 ndarry 的索引操作
#① Series
s1 = Series(np.arange(4.), index=['a', 'b', 'c', 'd'])
s1['b']
s1[1]
s1[2:4]
s1[['b', 'a', 'd']]
s1[[1, 3]]
s1[s1 < 2]
s1['b':'c']
s1['b':'c'] = 5


#② DataFrame
df = DataFrame(np.arange(16).reshape((4, 4)), index=['Ohio', 'Colorado', 'Utah', 'New York'], 
                                            columns=['one', 'two', 'three', 'four'])
df['two']
df[['three', 'one']]
df[:2]
df[df['three'] > 5]
df > 5
df[df['three'] < 5] = 0


# 2)标签索引
#① Series

#② DataFrame
df.ix['Colorado', 'three']
df.ix['Colorado', ['three', 'four']]
df.ix[['Colorado', 'Utah'], ['three', 'four']]
df.ix[['Colorado', 'Utah'], [2, 0, 3]]
df.ix['Colorado']
df.ix[2]
df.ix[:'Utah', 'three']
df.ix[df.three > 5, :3]

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: