PyCharm安装和Padans数据处理

安装配置PyCharm

官方下载地址:http://www.jetbrains.com/pycharm/
CSDN下载地址:http://download.csdn.net/download/coofly/6637569

配色方案的调整:
File–>Settings–>Editor–>Colors & Fonts 选择Monokai
显示行号
File–>Settings–>Editor–> General –>Appearance –>Show line number

安装pandas 插件

安装pandas 之前首先安装
setuptools
pip
pandas
numpy
matplotlib
File–>Settings–>PythonProj–>Project Interpreter

Series

参考:http://pda.readthedocs.org/en/latest/chp5.html
pandas两个重要的数据结构: Series 和 DataFrame
Series是一个一维的类似的数组对象,包含一个数组的数据(任何NumPy的数据类型)和一个与数组关联的数据标签,被叫做 索引。
eg:

ser = Series([5,4,3,2,-1])
print(ser);

输出结果:
0 5
1 4
2 3
3 2
4 -1
索引在左边,值在右边。因为我们没有给数据指定索引,一个包含整数0到 N-1 (这里N是数据的长度)的默认索引被创建。
创建一个带有索引来确定没一个数据点的Series

ser1 = Series([5,4,3,2,-1],index=['a','b','c','d','e'])
print(ser1)

输出结果:
a    5
b    4
c    3
d    2
e   -1

通过索引检索数据

print(ser1['c'])

输出结果:
3

如果你有一些数据在一个Python字典中,你可以通过传递字典来从这些数据创建一个Series
通过字典创建series

sdata = {}
sdata['a'] = 5
sdata['c'] = 10
sdata['b'] = 4
sdata['d'] = -2
ser2 = Series(sdata)
print(ser2)

输出结果:
a     5
b     4
c    10
d    -2

结果Series中的索引将是按字典排序

删除数据

#drop
ser3 = ser2.drop(['a'])
print(ser3)

b     4
c    10
d    -2

DataFame

DataFame表示一个表格,类似电子表格的数据结构,包含一个经过排序的列表集有很多方法来构建一个DataFrame,但最常用的一个是用一个相等长度列表的字典或NumPy数组:

data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'],
    'year': [2000, 2001, 2002, 2001, 2002],
    'pop': [1.5, 1.7, 3.6, 2.4, 2.9]}
frame = DataFrame(data)
print(data)

输出结果:
   pop   state  year
0  1.5    Ohio  2000
1  1.7    Ohio  2001
2  3.6    Ohio  2002
3  2.4  Nevada  2001
4  2.9  Nevada  2002

设置顺序:

frame = DataFrame(data, columns=['year', 'state', 'pop'])

输出结果:
   year   state  pop
0  2000    Ohio  1.5
1  2001    Ohio  1.7
2  2002    Ohio  3.6
3  2001  Nevada  2.4
4  2002  Nevada  2.9

增加索引:

frame1 = DataFrame(data, columns=['year', 'state', 'pop'],index=['a','b','c','d','e'])

输出结果:  
 year   state  pop
a  2000    Ohio  1.5
b  2001    Ohio  1.7
c  2002    Ohio  3.6
d  2001  Nevada  2.4
e  2002  Nevada  2.9

检索数据:

ser3 = frame1['year']
print(ser3['a']) 

DataFrame 通过columns来获取数据,得到Series.
输出结果:
2000

条件检索

frame1 = frame[frame['pop'] > 2]
print(frame1)

输出结果:
   year   state  pop
2  2002    Ohio  3.6
3  2001  Nevada  2.4
4  2002  Nevada  2.9

通过索引对象检索数据

print(frame1.ix['e'])

输出结果:
year       2002
state    Nevada
pop         2.9

增加数据:

newVal = Series([-1.2, -1.5, -1.7], index=['a', 'c', 'e'])
frame1['debt'] = newVal
print(frame1)

输出结果:
   year   state  pop  debt
a  2000    Ohio  1.5  -1.2
b  2001    Ohio  1.7   NaN
c  2002    Ohio  3.6  -1.5
d  2001  Nevada  2.4   NaN
e  2002  Nevada  2.9  -1.7

如果没有值,在结果中它会表示为NA值

删除数据

fram2 = frame1.drop(['year','state'],axis=1);
print(fram2)

输出结果:
   pop  debt
a  1.5  -1.2
b  1.7   NaN
c  3.6  -1.5
d  2.4   NaN
e  2.9  -1.7
drop() 返回的是一个新对象,元对象不会被改变。

fram2 = frame1.drop(['a','b']);
print(fram2)

输出结果:
   year   state  pop  debt
c  2002    Ohio  3.6  -1.5
d  2001  Nevada  2.4   NaN
e  2002  Nevada  2.9  -1.7

Pandas 重要功能

  • 取前两行值
  • 取后三行值
  • 转置
  • 对轴排序
  • 对值排序
  • 合并
  • Append追加操作
  • groupby分组,求和

参考:http://www.cnblogs.com/chaosimple/p/4153083.html

取前两行值
print(frame1.head(2))

输出结果:
   year state  pop  debt
a  2000  Ohio  1.5  -1.2
b  2001  Ohio  1.7   NaN

取后三行值
print(frame1.tail(3))

输出结果:
 year   state  pop  debt
c  2002    Ohio  3.6  -1.5
d  2001  Nevada  2.4   NaN
e  2002  Nevada  2.9  -1.7

转置
print(frame1.T)

输出结果:
     a     b     c       d       e
year   2000  2001  2002    2001    2002
state  Ohio  Ohio  Ohio  Nevada  Nevada
pop     1.5   1.7   3.6     2.4     2.9
debt   -1.2   NaN  -1.5     NaN    -1.7

对轴排序
print(frame1.sort_index(axis=1,ascending=True))

输出结果:
 debt  pop   state  year
a  -1.2  1.5    Ohio  2000
b   NaN  1.7    Ohio  2001
c  -1.5  3.6    Ohio  2002
d   NaN  2.4  Nevada  2001
e  -1.7  2.9  Nevada  2002

对值排序
print(frame1.sort(columns='year'))

输出结果:
  year   state  pop  debt
a  2000    Ohio  1.5  -1.2
b  2001    Ohio  1.7   NaN
d  2001  Nevada  2.4   NaN
c  2002    Ohio  3.6  -1.5
e  2002  Nevada  2.9  -1.7

合并:
Concat,按照行的合并,多个 DataFrame 然后把它们放进一个数组中
frame2 = DataFrame(np.random.rand(4,3));
DataFrame切分
frame3 = [frame2[:2],frame2[3:4]]
DataFrame 合并
_frame3 = pd.concat(frame3)
print(_frame3)

输出结果:
          0         1         2
0  0.449950  0.556051  0.811427
1  0.312357  0.429655  0.725275
3  0.558072  0.747375  0.803023

Append 追加操作
frame4 = frame2.append(_frame3,ignore_index=True);
print(frame4)

输出结果:
          0         1         2
0  0.449950  0.556051  0.811427
1  0.312357  0.429655  0.725275
2  0.287861  0.464538  0.744888
3  0.558072  0.747375  0.803023
4  0.449950  0.556051  0.811427
5  0.312357  0.429655  0.725275
6  0.558072  0.747375  0.803023

groupby分组,求和
group_data = frame.groupby('state').sum()
print(group_data)

输出结果:
        year  pop
state           
Nevada  4003  5.3
Ohio    6003  6.8

导入保存数据

读csv文件
csv = pd.read_csv(‘E:\zhangqx\test.csv’,parse_dates=True)
写csv文件
csv.to_csv(‘E:\zhangqx\test1.csv’)

支持的格式:
csv,excel,hdf,sql,json,html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值