Pandas命令速查清单

import pandas as pd
import numpy as np

# pd.read_csv(filename):从CSV文件导入数据
# pd.read_table(filename):从限定分隔符的文本文件导入数据
# pd.read_excel(filename):从Excel文件导入数据
# pd.read_sql(query, connection_object):从SQL表/库导入数据
# pd.read_json(json_string):从JSON格式的字符串导入数据
# pd.read_html(url):解析URL、字符串或者HTML文件,抽取其中的tables表格
# pd.read_clipboard():从你的粘贴板获取内容,并传给read_table()
# pd.DataFrame(dict):从字典对象导入数据,Key是列名,Value是数据
# df.to_csv(filename):导出数据到CSV文件
# df.to_excel(filename):导出数据到Excel文件
# df.to_sql(table_name, connection_object):导出数据到SQL表
# df.to_json(filename):以Json格式导出数据到文本文件
# 数据的创建

# 创建一个10行5列的数据框
# df = pd.DataFrame(np.random.rand(10, 5))
# 从一个可迭代的对象(如列表)创建一个数据组
# my_list = pd.Series(['Zhong Xiyan', 20, 'Annie'])
# print(my_list)
# 为数据框添加日期索引
# df.index = pd.date_range('2018/7/25', periods=df.shape[0])

# 数据的查看与检查

# 查看数据框的前(后)几行
# print(df.head(3))
# print(df.tail(3))
# 查看数据框的行数、列数
# print(df.shape)
# 查看数据框的索引、数据类型计内存信息
# df.info()
# 对于数据类型为数值型的例,查询其描述性统计的内容
# print(df.describe())
# 查询每个数据出现的次数
# s = pd.Series([1,2,3,3,4,np.nan,5,5,5,6,7])
# print(s.value_counts(dropna=False))

# 数据的选取


# df = pd.DataFrame(np.random.rand(5, 5), columns=list('ABCDE'))
# 以数据Series的形式返回选取的列
# print(df['C'])
# 以数据框的形式返回选取的列
# print(df[['A', 'C', 'E']])
# s.iloc[0]按位置选取
# s.loc[1]按索引选取
# s = pd.Series(np.array(['I', 'LOVE', 'DATA']))
# print(s.iloc[0])
# print(s.loc[1])
# df.iloc[0,:]选取第一行
# print(df.iloc[0, :])
# 选取第一行第一个元素
# print(df.iloc[0, 0])

# 数据的清洗

# df = pd.DataFrame({'A': np.array([1,np.nan,2,3,6,np.nan]),
                  'B': np.array([np.nan,4,np.nan,5,9,np.nan]),
                   'C': 'foo'})
#  重命名数据框的列名称
# df.columns = ['a', 'b', 'c']
# print(df)
# pd.isnull()检查数据中空值出现的情况,返回一个布尔值组成的列
# print(pd.isnull(df))
# df.dropna()移除数据框中包含空值的行
# print(df.dropna())
# df.dropna(axis=1)移除数据框中包含空值的列
# 在此处axis=0是对行的操作,axis=1是对列的操作
# print(df.dropna(axis=1))
# df.fillna(x)将数据框中所有空值替换为x
# print(df.fillna(99))
# s.astype(float)将数组Series的格式转化为浮点数
s = pd.Series([1, 3, 5, np.nan, 7, 9, 9])
# print(s.astype(float))
#  将数组(Series)中的所有1替换为'one'
# print(s.replace(1,'one'))
#  将数组(Series)中所有的1替换为'one', 所有的3替换为'three'
# print(s.replace([1,3],['one','three']))
# df.rename(columns=lambda x :x+2) 将全体列重命名
# df = pd.DataFrame(np.random.rand(4, 4))
# print(df.rename(columns=lambda x: x+2))
# df.rename('old_name':'new_name')将选择的列重命名
# df = pd.DataFrame(np.random.rand(5, 5),columns=list('ABCDE'))
# print(df.rename(columns={'A':'newA','E':'newE'}))
# df.set_index(columns_one)改变索引
# df = pd.DataFrame(np.random.rand(10, 5),columns=list('ABCDE'))
# print(df.set_index('B'))
# df.set_rename(index = lambda x: x+1)改变全体索引
# df = pd.DataFrame(np.random.rand(10, 5))
# print(df.rename(index=lambda x: x+1))

# 数据的过滤、排序和分组

# df[df[col]>0.5] 选取数据框df对应行的数值大于0.5的全部列
df = pd.DataFrame(np.random.rand(10, 5),columns=list('ABCDE'))
# print(df[df['A']>0.5])
# df[(df[col]>0.5)&(df[col]<0.7)]选取数据框中df对应行的数值大于0.5并且小于0.7的全部列
# print(df[(df['C']>0.5)&(df['D']<0.7)])
# df.sort_values(col1)将数据框的列col1按升序(ascending)的方式对数据框进行排列
# print(df.sort_values('E'))
# df.sort_values(col2,ascending=False)将数据框的列col2按降序(descending)进行排列
# print(df.sort_values('A',ascending=False))
# df.sort_values([col1,col2],ascending=[True,False])按照数据框的列col1升序,col2降序的方式对数据框df做排序
# print(df.sort_values(['A','E'],ascending=[True, False]))
# df.groupby(col)数据框按照某列数据分组
# df = pd.DataFrame({'A': np.array(['foo','foo','foo','foo','bar','bar']),
#                    'B': np.array(['one','one','two','two','three','three']),
#                    'C': np.array(['small','medium','large','large','small','small']),
#                    'D': np.array([1,2,2,3,3,5])})
# print(df)
# print(df.groupby('A').count())
# df.groupby([col1,col2])按照col1,col2对数据框分组
# print(df.groupby(['B', 'C']).sum())
# df.groupby(col1)[col2].mean()数据框按照col1进行分组后,返回对应col2的平均值
# print(df.groupby('B')['D'].mean())
# df.pivot_table(index=col1,values=[col2,col3],aggfunc=np.mean)做透视表,索引为col1,针对数值列
# 为col2和col3,分组函数为平均值
# print(df.pivot_table(index=['A','B'],columns='C', aggfunc=np.sum))
# df.groupby(col1).agg(np.mean)返回按列col1分组的所有列的均值
# print(df.groupby('A').agg(np.mean))
# df.apply(np.mean)对数据框每列求平均值
# df = pd.DataFrame(np.random.rand(10, 5),columns=list('ABCDE'))
# print(df)
# print(df.apply(np.mean))
# df.apply(np.max,axis=1)对每一行求最大值
# print(df.apply(np.max,axis=1))

# 数据的链接和组合

# df1.append(df2)在df1的末尾添加数据框df2,两个数据框的列数应相等
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3'],
                    'D': ['D0', 'D1', 'D2', 'D3']},
                   index=[0, 1, 2, 3])
df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
                    'B': ['B4', 'B5', 'B6', 'B7'],
                    'C': ['C4', 'C5', 'C6', 'C7'],
                    'D': ['D4', 'D5', 'D6', 'D7']},
                   index=[4, 5, 6, 7])
# print(df1.append(df2))
# pd.concat([df1,df2],axis=1)在df1的列最后添加数据框df2,df1和df2的行数应该相等
# print(pd.concat([df1, df2], axis=1))
# df1.join(df2,on=col1,how='inner')数据框df1与df2做内连接,其中连接的列为col1
# df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
#                     'B': ['B0', 'B1', 'B2', 'B3'],
#                     'key': ['K0', 'K1', 'K0', 'K1']})
#
# df2 = pd.DataFrame({'C': ['C0', 'C1'],
#                     'D': ['D0', 'D1']},
#                    index=['K0', 'K1'])
# print(df1.join(df2,on='key'))

# 数据的统计

df = pd.DataFrame(np.random.rand(10,5),columns=list('ABCDE'))
# df.describe()对数据框的每一列进行统计
# print(df.describe())
# df.mean()对每一列求平均值
# print(df.mean())
# df.corr()得到数据框每一列与其他相关数据
# print(df.corr())
# df.count()得到数据框中每一列非空值的个数
# print(df.count())
# df.max() (df.min())得到数据框每一列中的最大值(最小值)
# print(df.max())
# df.median()得到每一列的中位数
# print(df.median())
# df.std()得到每一列的标准差
# print(df.std())

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值