Pandas模块的操作

Pandas的数据结构

序列and数据框

import numpy as np
import pandas as pd
print(np.__version__)
print(pd.__version__)


#序列,只有两列,一列是索引列,另一列是数值列
#手动输入方式生成序列
return_series1=pd.Series([0.003714,-0.001838,-0.003087,-0.024112],index=['中国石油','工商银行','上汽集团','宝钢股份'])
print(return_series1)
#通过数组生成序列
return_array=np.array([[0.003731,0.021066,-0.004854,0.006098,-0.00606],[-0.001838,0.001842,-0.016544,-0.003738,0.003752],[-0.003087,-0.000344,-0.033391,0.007123,0.004597],[-0.024112,0.011704,-0.029563,-0.01457,0.016129]])
print(return_array)
return_series2=pd.Series(return_array[:,0],index=['中国石油','工商银行','上汽集团','宝钢股份'])
print(return_series2)

#数据框,类似excel。三部分:数据data,行索引index,列名columns
date=['2018-09-03','2018-09-04','2018-09-05','2018-09-06','2018-09-07']
stock=['中国石油','工商银行','上汽集团','宝钢股份']
return_datafram=pd.DataFrame(data=return_array.T,index=date,columns=stock)   #日期作为行索引,股票名称作为列名
print(return_datafram)
#导出
return_datafram.to_excel('D:/return.xlsx')
return_datafram.to_excel('D:/return.csv')#中文乱码
return_datafram.to_excel('D:/return.txt')

#从外部文件导入数据
HS300_excel1=pd.read_excel('D:/a_DUFE/000master_gogogo/python/配套彩图和数据/数据/第四章/沪深300指数.xlsx',sheet_name="Sheet1",header=0,index_col=0)
print(HS300_excel1.head())

数据框的可视化

import matplotlib.pyplot as plt
from pylab import mpl   #从pylab导入子模块mpl
mpl.rcParams['font.sans-serif']=['SimHei']  #以黑体的字体显示中文
mpl.rcParams['axes.unicode_minus']=False    #解决保存图像是负号'-'显示为方块的问题
HS300_excel1.plot(kind='line',subplots=True,sharex=True,layout=(2,2),figsize=(10,8),title=u'2018年沪深300指数走势图',grid=True,fontsize=13)
plt.show()

在这里插入图片描述

数据框内部的操作

print(HS300_excel1.index)   #查看行索引名
print(HS300_excel1.columns) #查看列名

在这里插入图片描述

print(HS300_excel1.shape)   #查看数据框多少行、多少列
print(HS300_excel1.describe())  #查看样本量、均值、方差、最大值、最小值、分位数等

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

#排序
print(HS300_excel1.sort_index(axis=0,ascending=True))   #按照行索引由小到大排序
print(HS300_excel1.sort_index(axis=0,ascending=False))  #按照行索引由大到小排序

print(HS300_excel1.sort_values(by='收盘点位',ascending=True))   #按收盘点位由小到大排序
print(HS300_excel1.sort_values(by='最高点位',ascending=False))  #按最高点位由大到小排序

#修改列名
HS300_columschange=HS300_excel1.rename(columns={'收盘点位':'收盘价格'}) #“收盘点位”修改为“收盘价格”
print(HS300_columschange.head(1))

在这里插入图片描述

#缺失值处理
stock=pd.read_excel('D:/a_DUFE/000master_gogogo/python/配套彩图和数据/数据/第四章/关于2018年3月份股票价格数据.xlsx')
print(stock)    #缺失值用NaN表示
#删除法
stock_dropna=stock.dropna()
print(stock_dropna)
#补齐法(赋值零)
stock_fillzero=stock.fillna(value=0)
print(stock_fillzero)
#补齐法(向前填充)
stock_ffill=stock.fillna(method='ffill')
print(stock_ffill)
#补齐法(赋值零)
stock_bfill=stock.fillna(method='bfill')
print(stock_bfill)

数据框之间的操作

在Pandas中,关于数据框的拼接涉及3个函数,分别是concat、merge和join,其中,concat是可以运用于按行、按列拼接,merge和join则主要运用于按列拼接。

HS300_excel1=pd.read_excel('D:/a_DUFE/000master_gogogo/python/配套彩图和数据/数据/第四章/沪深300指数.xlsx',sheet_name="Sheet1",header=0,index_col=0)
HS300_excel2=pd.read_excel('D:/a_DUFE/000master_gogogo/python/配套彩图和数据/数据/第四章/沪深300指数.xlsx',sheet_name="Sheet2",header=0,index_col=0)

stock1=pd.read_excel('D:/a_DUFE/000master_gogogo/python/配套彩图和数据/数据/第四章/关于2018年3月份股票价格数据.xlsx',sheet_name="Sheet1",header=0,index_col=0)
stock2=pd.read_excel('D:/a_DUFE/000master_gogogo/python/配套彩图和数据/数据/第四章/关于2018年3月份股票价格数据.xlsx',sheet_name="Sheet2",header=0,index_col=0)
#函数concat
HS300_new=pd.concat([HS300_excel2,HS300_excel1],axis=0) #按行拼接
print(HS300_new.head())
stock_new=pd.concat([stock1,stock2],axis=1)
print(stock_new)    #按列拼接
#函数merge
stock_new=pd.merge(left=stock1,right=stock2,left_index=True,right_index=True)
print(stock_new)
#函数join
stock_new=stock1.join(stock2,on='日期')
print(stock_new)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pythonpandas模块是一个开源的数据分析和数据处理工具,它提供了高效、灵活和便捷的数据结构,例如Series和DataFrame,以及各种数据操作功能。 在pandas模块中,Series是一种一维标签数组,可以存储任意类型的数据,并且可以通过索引进行访问和操作。可以使用pandas.Series()函数创建一个空的Series对象。 pandas模块还支持多种数据类型的读取和处理。例如,可以使用pandas.read_html()函数读取HTML文件中的数据,使用pandas.read_json()函数读取JSON文件中的数据,使用pandas.read_csv()函数读取CSV文件中的数据。这些函数可以将读取的数据转换为DataFrame对象,方便进行进一步的数据处理和分析。 总结来说,pandas模块Python中一个功能强大且广泛应用于数据分析和数据处理的模块,它提供了丰富的数据结构和操作功能,使得数据的读取、处理和分析变得更加简单和高效。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python pandas模块](https://blog.csdn.net/weixin_48994367/article/details/124848794)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【Python模块学习】pandas模块简介](https://blog.csdn.net/weixin_46684578/article/details/121172727)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值