深入浅出pandas——第一部分:pandas入门

# 首先是安装pandas库
# pip install pandas matplotlib 这个是在终端进行操作
import pandas as pd # 引入pandas库,按照惯例起别名pd
# 读取数据
df1 = pd.read_csv("E:/Test/BJ_Air.csv.", header = 0)
# print(df1)
df2 = pd.read_excel('E:/Test/three_China.xlsx', header = 0)
# print(df2)
# 查看数据
df1.head()
df1.tail()
df1.sample(5)
print(df1.head())
print(df1.tail())
print(df1.sample(5))
# 验证数据
df1.shape # 查看行数和列数
print(df1.shape)
df1.info()  # 查看索引、数据类型和内存信息
print(df1.info())
df1.describe()
print(df1.describe())
df1.dtypes # 查看各字段类型
print(df1.dtypes)
df1.axes # 显示行数和列数
print(df1.axes)
df1.columns # 列名
print(df1.columns)
# 建立索引
df1.set_index('date', inplace = True)
print(df1.head())
# 数据选取
df1['Co'] # 查看指定列
print(df1['Co'])
# 选择多列
df1[['Co','No2']] # 只看这两列,注意括号
df1.loc[:,['Co','No2']]
print(df1[['Co','No2']])
print(df1.loc[:,['Co','No2']])
# 选择行
# 用指定索引选取
df1[df1.index == 'date'] # 引号里需要指定姓名
print(df1[df1.index == 'date'])
df1[0:3] # 取前三行
print(df1[0:3])
df1[0:10:2] # 在前十个中每两个取一个
print(df1[0:10:2])
df1.iloc[:10,:] # 前十个
# 指定行和列  同时给定行和列的显示范围:


# 条件选择
# 单一条件
df1[df1.No2 > 100]
print(df1[df1.No2 > 100])
df1[df1.No2 == '100']
print(df1[df1.No2 == '100'])
df1[df1.index == '2014/2/24']
print(df1[df1.index == '2014/2/24'])
# 组合条件
df1[(df1['No2'] > 100) & (df1['Co'] > 1) ] # 关系
print(df1[(df1['No2'] > 100) & (df1['Co'] > 1)])
df1[df1['No2'] > 100].loc[df1.Co > 10]
print(df1[df1['No2'] > 100].loc[df1.Co > 10])
# 排序
df1.sort_values(by='No2') # 按照No2列数据升序排列
df1.sort_values(by='No2', ascending = False) # 按照降序排列
print(df1.sort_values(by='No2'))
print(df1.sort_values(by='No2', ascending = False))
df1.sort_values(['No2','Co'], ascending = [False,True]) # 组合排序 No2降序 Co升序
print(df1.sort_values(['No2','Co'], ascending = [False,True]))
# 分组聚类
# df1.groupby('Co').sum() # 按团队分组对应列相加
# df1.groupby('Co').mean() # 按团队分组对应列求平均
# print(df1.groupby('Co').sum())
# print(df1.groupby('Co').mean())
# 不同列不同的计算方式
# sum 求和 count 总数 mean 平均 max 最大值

# df1.groupby('O3').agg({*******})

# 数据转换
df1.groupby('Co').sum().T
print(df1.groupby('Co').sum().T)
df1.groupby('No2').sum().stack()
print(df1.groupby('No2').sum().stack())
df1.groupby('No2').sum().unstack()
print(df1.groupby('No2').sum().unstack())
# 增加列
df2['one'] = 1 # 增加一个固定值的列

# 将计算得来的结果赋值给新列
# df2[''] 列与行之间的运算简单的逻辑运算
# 统计分析 ——根据你的数据分析目标,试着使用一下函数,
'''
这里的df没有被定义,如果有需要的话需要定义df的值

df.mean() # 返回所有列的均值
df.mean(1) # 返回所有行的均值
df.corr() # 返回行与列之间的相关系数
df.count() # 返回每一列中的非空值的个数
df.max() #  返回每一列的最大值
df.min() # 返回每一列的最小值
df.median() # 返回每一列对的中位数
df.std() # 返回每一列的标准差
df.var() # 方差
s.mode() # 众数

'''

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值