Python语言pandas包Dataframe的用法

By sto at 2019-03-16 • 0人收藏 • 89人看过

1 创建方法

1.1 使用dict创建


>>> import numpy as np
>>> import pandas as pd
>>> from pandas import Series,DataFrame
>>> data = {'no':[1,2,3,4,5], 'name':['xiaoming', 'chahong', 'xiaochao', 'huahua', 'dabao'], 'scores':['620','608','580','578','554']}
>>> data
{'no': [1, 2, 3, 4, 5], 'name': ['xiaoming', 'chahong', 'xiaochao', 'huahua', 'dabao'], 'scores': ['620', '608', '580', '578', '554']}
>>> df=pd.DataFrame(data)
>>> df
   no      name scores
0   1  xiaoming    620
1   2   chahong    608
2   3  xiaochao    580
3   4    huahua    578
4   5     dabao    554


2 基本操作

2.1 输出列信息


>>> df.columns
Index(['no', 'name', 'scores'], dtype='object')


2.2 输出某些列

>>> df.name
0    xiaoming
1     chahong
2    xiaochao
3      huahua
4       dabao
Name: name, dtype: object
>>> 
>>> df['name']
0    xiaoming
1     chahong
2    xiaochao
3      huahua
4       dabao
Name: name, dtype: object
>>> 
>>> type(df['name'])
<class 'pandas.core.series.Series'>
>>> DataFrame(df, columns=['no', 'name'])
   no      name
0   1  xiaoming
1   2   chahong
2   3  xiaochao
3   4    huahua
4   5     dabao
>>>


2.3 新增列

>>> df1 = DataFrame(df, columns=['no', 'name', 'phone'])
>>> df1
   no      name  phone
0   1  xiaoming    NaN
1   2   chahong    NaN
2   3  xiaochao    NaN
3   4    huahua    NaN
4   5     dabao    NaN


2.4 对列赋值

2.4.1 使用range赋值

>>> df1['phone'] = range(1,6)
>>> df1
   no      name  phone
0   1  xiaoming      1
1   2   chahong      2
2   3  xiaochao      3
3   4    huahua      4
4   5     dabao      5

2.4.2 使用arange赋值

>>> df1['phone'] = np.arange(10,15)
>>> df1
   no      name  phone
0   1  xiaoming     10
1   2   chahong     11
2   3  xiaochao     12
3   4    huahua     13
4   5     dabao     14

2.4.3 使用Series赋值


>>> df1['phone'] = pd.Series(np.arange(20,25))
>>> df1
   no      name  phone
0   1  xiaoming     20
1   2   chahong     21
2   3  xiaochao     22
3   4    huahua     23
4   5     dabao     24


2.4.4 使用Series修改某些值,其他值会被NaN填充

>>> df1['phone'] = pd.Series([100,200], index=[2,4])
>>> df1
   no      name  phone
0   1  xiaoming    NaN
1   2   chahong    NaN
2   3  xiaochao  100.0
3   4    huahua    NaN
4   5     dabao  200.0


登录后方可回帖

信息栏
数据人网是数据人学习、交流和分享的平台,专注于从数据中学习,努力发觉数据之洞见,积极利用数据之价值
Loading...