【python数据分析】pandas基本操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDN_fzs/article/details/81437154

pandas里的数据结构

Series(类似于一维数组---有索引的一维数组)
- 数组与标签
- 可以通过标签选取数据
- 定长的有序字典
DataFrame
- 表格型数据结构
- 行索引、列索引
 

import numpy as np
import pandas as pd
import sys
from pandas import Series,DataFrame

#Series

obj = Series([4,5,-8,6])
print(obj.values)     #获取数组的值
#[ 4  5 -8  6]

print(obj.index)      #获取索引的值
#RangeIndex(start=0, stop=4, step=1)

obj2 = Series([4,5,-6,3],index = ['a','b','c','d'])   #手动设置索引
print(obj2.index)
#Index(['a', 'b', 'c', 'd'], dtype='object')

print(obj2['a'])         #输出索引为'a'的值
#4
obj2['a'] = 10    #修改索引为'a'的值为10

print(obj2[obj2>0])       #输出obj2中>0的值
#a    10
#b     5
#d     3
#dtype: int64

print(obj2**2)           #输出整个数组的平方
#a    100
#b     25
#c     36
#d      9
#dtype: int64

print(np.exp(obj2))      #进行运算也会保留索引
#a    22026.465795
#b      148.413159
#c        0.002479
#d       20.085537
#dtype: float64

'g' in obj2     #查询索引是否在一个数组中
#False
#DataFrame
data = {'name':['apple','小米','华为','oppo'],
        'price':[5888,1588,2499,2199],
        'num':[2000,4588,7412,1501]}
frame = DataFrame(data)   #列的排序是默认的,索引也是默认的(1、2、3、4......)
frame
frame1 = DataFrame(data,columns=['name','price','num'],index=['one','two','three','four'])    #设置列(columns)的顺序,以及索引的值
print(frame1.columns)
print(frame1.index)
frame1

frame1.ix['one']    #输出索引为'one'的值  
frame1['hhh'] = np.arange(4.)    #添加一个列并赋值
frame1

del frame1['hhh']        #删除列
frame1

(此处为练习的数据,不是真实数据)

data = {'小明':{'身高':'178','体重':'125'},                   
        '小黄':{'身高':'180','体重':'128','年龄':'21'}}  
frame3 = DataFrame(data)    #外面的键'小明'、'小黄'作为列,里面的'身高键'、'体重'、'年龄'为行
frame3
frame3.T           #转置

frame3

转置后:

frame3.T           #转置      python数据分析 pandas

猜你喜欢

转载自blog.csdn.net/CSDN_fzs/article/details/81437154