0
点赞
收藏
分享

微信扫一扫

PyCharm安装和Padans数据处理


安装配置PyCharm

官方下载地址:​​http://www.jetbrains.com/pycharm/​​​ ​

配色方案的调整:
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']);

Pandas 重要功能

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

取前两行值
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 条评论