Python数据分析库pandas ------ DataFrame
Posted 巴蜀秀才
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据分析库pandas ------ DataFrame相关的知识,希望对你有一定的参考价值。
DataFrame的定义
1 data = {
2 ‘color‘: [‘blue‘, ‘green‘, ‘yellow‘, ‘red‘, ‘white‘],
3 ‘object‘: [‘ball‘, ‘pen‘, ‘pecil‘, ‘paper‘, ‘mug‘],
4 ‘price‘: [1.2, 1, 2.3, 5, 6]
5 }
6 frame0 = pd.DataFrame(data)
7 print(frame0)
8 frame1 = pd.DataFrame(data, columns=[‘object‘, ‘price‘])
9 print(frame1)
10 frame2 = pd.DataFrame(data, index=[‘张三‘,‘李斯‘,‘王五‘,‘陈久‘,‘小明‘])
11 print(frame2)
12 Out[1]:
13 color object price
14 0 blue ball 1.2
15 1 green pen 1.0
16 2 yellow pecil 2.3
17 3 red paper 5.0
18 4 white mug 6.0
19 object price
20 0 ball 1.2
21 1 pen 1.0
22 2 pecil 2.3
23 3 paper 5.0
24 4 mug 6.0
25 color object price
26 张三 blue ball 1.2
27 李斯 green pen 1.0
28 王五 yellow pecil 2.3
29 陈久 red paper 5.0
30 小明 white mug 6.0
使用index参数可以设置index信息
选取元素
1 print(frame1.columns)
2 print(frame2.index)
3 print(frame2[‘price‘])
4 print(frame2.price)
5 Out[2]:
6 Index([‘object‘, ‘price‘], dtype=‘object‘)
7 Index([‘张三‘, ‘李斯‘, ‘王五‘, ‘陈久‘, ‘小明‘], dtype=‘object‘)
8 张三 1.2
9 李斯 1.0
10 王五 2.3
11 陈久 5.0
12 小明 6.0
13 Name: price, dtype: float64
14 张三 1.2
15 李斯 1.0
16 王五 2.3
17 陈久 5.0
18 小明 6.0
19 Name: price, dtype: float64
一般我们常需要按列取值,那么DataFrame提供了 loc 和 iloc 供大家选择,但是两者之间是由区别的。
1 print(frame2)
2 print(frame2.loc[‘王五‘]) # loc可以使用字符串类型的index,而iloc只能是int型的
3 print(frame0.iloc[2])
4 Out[2]:
5 color object price
6 张三 blue ball 1.2
7 李斯 green pen 1.0
8 王五 yellow pecil 2.3
9 陈久 red paper 5.0
10 小明 white mug 6.0
11 color yellow
12 object pecil
13 price 2.3
14 Name: 王五, dtype: object
15 color yellow
16 object pecil
17 price 2.3
18 Name: 2, dtype: object
一般取值操作
1 print(frame2[2:3]) # 取行
2 print(frame0[‘object‘]) # 取列
3 print(frame0[‘object‘][1:3]) # 取列的元素
4 print(frame0.iloc[0:4, 1:3]) # 取一块的元素 ********************************************************************
5 Out[3]:
6 color object price
7 王五 yellow pecil 2.3
8 0 ball
9 1 pen
10 2 pecil
11 3 paper
12 4 mug
13 Name: object, dtype: object
14 1 pen
15 2 pecil
16 Name: object, dtype: object
17 object price
18 0 ball 1.2
19 1 pen 1.0
20 2 pecil 2.3
21 3 paper 5.0
以上是关于Python数据分析库pandas ------ DataFrame的主要内容,如果未能解决你的问题,请参考以下文章