Pandas基础命令速查
缩写解释 & 库的导入
df — 任意的pandas DataFrame(数据框)对象
s — 任意的pandas Series(数组)对象
pandas和numpy是用Python做数据分析最基础且最核心的库
import pandas as pd # 导入pandas库并简写为pd
import numpy as np # 导入numpy库并简写为np
数据的导入
pd.read_csv(filename) # 导入csv格式文件中的数据
pd.read_table(filename) # 导入有分隔符的文本 (如TSV) 中的数据
pd.read_excel(filename) # 导入Excel格式文件中的数据
pd.read_sql(query, connection_object) # 导入SQL数据表/数据库中的数据
pd.read_json(json_string) # 导入JSON格式的字符,URL地址或者文件中的数据
pd.read_html(url) # 导入经过解析的URL地址中包含的数据框 (DataFrame) 数据
pd.read_clipboard() # 导入系统粘贴板里面的数据
pd.DataFrame(dict) # 导入Python字典 (dict) 里面的数据,其中key是数据框的表头,value是数据框的内容。
数据的导出
df.to_csv(filename) # 将数据框 (DataFrame)中的数据导入csv格式的文件中
df.to_excel(filename) # 将数据框 (DataFrame)中的数据导入Excel格式的文件中
df.to_sql(table_name,connection_object) # 将数据框 (DataFrame)中的数据导入SQL数据表/数据库中
df.to_json(filename) # 将数据框 (DataFrame)中的数据导入JSON格式的文件中
创建测试对象
pd.DataFrame(np.random.rand(10,5)) # 创建一个5列10行的由随机浮点数组成的数据框 DataFrame
pd.DataFrame(np.random.rand(10,5))
0 1 2 3 4
0 0.647736 0.372628 0.255864 0.853542 0.613267
1 0.064364 0.156340 0.575021 0.561911 0.479901
2 0.036473 0.876819 0.255325 0.393240 0.543039
3 0.357489 0.006578 0.093966 0.531294 0.029009
4 0.550582 0.504600 0.273546 0.011693 0.052523
5 0.721563 0.170689 0.702163 0.447883 0.905983
6 0.839726 0.935997 0.343133 0.356957 0.377116
7 0.931894 0.026684 0.719148 0.911425 0.676187
8 0.115619 0.114894 0.130696 0.321598 0.170082
9 0.194649 0.526141 0.965442 0.275433 0.880765
pd.Series(my_list) # 从一个可迭代的对象 my_list 中创建一个数据组
my_list = [‘Kesci’,100,‘hahaha## 标题’]
pd.Series(my_list)
0 Kesci
1 100
2 hahaha
dtype: object
df.index = pd.date_range(‘2017/1/1’, periods=df.shape[0]) # 添加一个日期索引 index
df = pd.DataFrame(np.random.rand(10,5))
df.index = pd.date_range(‘2017/1/1’, periods=df.shape[0])
df
0 1 2 3 4
2017-01-01 0.248515 0.647889 0.111346 0.540434 0.159914
2017-01-02 0.445073 0.329843 0.823678 0.737438 0.707598
2017-01-03 0.526543 0.876826 0.717986 0.271920 0.719657
2017-01-04 0.471256 0.657647 0.973484 0.598997 0.249301
2017-01-05 0.958465 0.474331 0.004078 0.842343 0.819295
2017-01-06 0.271308 0.271988 0.434776 0.449652 0.369188
2017-01-07 0.989573 0.928428 0.452436 0.058590 0.732283
2017-01-08 0.435328 0.730214 0.909400 0.683413 0.186820
2017-01-09 0.897414 0.687525 0.122937 0.018102 0.440427
2017-01-10 0.743821 0.134602 0.210326 0.877157 0.815462
数据的查看与检查
df.head(n) # 查看数据框的前n行
df = pd.DataFrame(np.random.rand(10,5))
df.head(3)
0 1 2 3 4
0 0.705884 0.845813 0.770585 0.481049 0.381055
1 0.733309 0.542363 0.264334 0.254283 0.859442
2 0.497977 0.474898 0.806073 0.384412 0.242989
df.tail(n) # 查看数据框的最后n行
df = pd.DataFrame(np.random.rand(10,5))
df.tail(3)
0 1 2 3 4
7 0.617289 0.009801 0.220155 0.992743 0.944472
8 0.261141 0.940925 0.063394 0.052104 0.517853
9 0.634541 0.897483 0.748453 0.805861 0.344938
df.shape # 查看数据框的行数与列数
df = pd.DataFrame(np.random.rand(10,5))
df.shape
(10, 5)
df.info() # 查看数据框 (DataFrame) 的索引、数据类型及内存信息
df = pd.DataFrame(np.random.rand(10,5))
df.info()
<class ‘pandas.core.frame.DataFrame’>
RangeIndex: 10 entries, 0 to 9
Data columns (total 5 columns):
0 10 non-null float64
1 10 non-null float64
2 10 non-null float64
3 10 non-null float64
4 10 non-null float64
dtypes: float64(5)
memory usage: 480.0 bytes
df.describe() # 对于数据类型为数值型的列,查询其描述性统计的内容
df.describe()
0 1 2 3 4
count 10.000000 10.000000 10.000000 10.000000 10.000000
mean 0.410631 0.497585 0.506200 0.322960 0.603119
std 0.280330 0.322573 0.254780 0.260299 0.256370
min 0.043731 0.031742 0.070668 0.044822 0.143786
25% 0.240661 0.211625 0.416827 0.145298 0.422969
50% 0.346297 0.544697 0.479648 0.217359 0.635974
75% 0.493105 0.669044 0.557353 0.468119 0.782573
max 0.937583 0