python怎么处理数据_手把手教你利用Python处理数据

0. 序言

Python的优势之一就是相同功能Python用一行代码,而其他语言需要用几十行甚至上百行。

鉴于以上优势,写脚本推荐Python。

脚本运行后的报告可以是txt、excel、折线图、堆叠柱状图。

以下开发环境是Linux,Windows和Mac都可借鉴。

1. txt

写数据到txt文件

def text_save(file_name, data):

memory_file = open(file_name, 'a')

for i in range(len(data)):

s = str(data[i]).replace('[', '').replace(']', '')

s = s.replace("'", '').replace(',', '') + '\n'

memory_file.write(s)

memory_file.close()

text_save("/home/fukq/txt/我是txt文件.txt", Max)

说明:方法的第一个参数是文件名称,第二个参数是列表或者字典或其他(集合)。

从txt文件读取数据

content = open("/home/fukq/txt/我是txt文件.txt")

for element in content:

print element # 对数据进行处理

说明:打开txt文件只需调用open方法即可。

2. excel

写数据到excel

# -*- coding: UTF-8 -*-

# 在第一行,从第二列开始输出1-96数字到Excel

from openpyxl import Workbook

# 初始化Workbook

wb = Workbook()

sheet = wb.active

# 第几次检测的数字存储集合

Excel_Time = []

Letter_ALL = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',

'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']

# excel数据从B列开始

for letter in Letter_ALL:

if letter != "A":

Excel_Time.append(letter)

# 获取对应的列的数据

for i in Letter_ALL:

for letter in Letter_ALL:

# 最多有96列数据--即:输出96次数据

if len(Excel_Time) < 96:

Excel_Time.append(i + letter)

else:

break

# 在相应的列和行输出数字索引:代表次数:共96次

for i in range(96):

sheet[Excel_Time[i] + "%d" % 1].value = i + 1

wb.save('/home/fukq/excel/我是excel文件.xls')

说明:

① Workbook用来创建excel

② wb.active创建sheet

③ sheet[].value给表格赋值:Excel_Time[i]指列值,1指行值

从excel读取数据

import xlrd

# 打开文件

workbook = xlrd.open_workbook(r'/home/fukq/excel/我是excel文件.xls')

# 获取Sheet

sheet_name = workbook.sheet_names()[0]

# 根据sheet索引或者名称获取sheet内容

sheet_info = workbook.sheet_by_name(sheet_name)

# 行数

sheet_info.nrows

# 列数

sheet_info.ncols

# i行0列单元格内容,编码是utf-8

sheet_info.row(i)[0].value.encode('utf-8')

# 行的内容

rows = sheet.row_values(3)

# 列的内容

cols = sheet.col_values(2)

说明:通过导入xlrd来读取excel数据。

3. 折线图

import matplotlib.pyplot as plt

def save_png(image_name, x, y):

# 创建绘图对象,figsize参数可以指定绘图对象的宽度和高度,单位为英寸,一英寸=80px

plt.figure(figsize=(16, 4))

for index in range(len(x)):

# 在当前绘图对象中画图(x轴,y轴,给所绘制的曲线的名字,画线颜色,画线宽度)

plt.plot(x[index], y[index], label="KB", color="red", linewidth=2)

# X轴的文字

plt.xlabel(des_time)

# Y轴的文字

plt.ylabel(des_size)

# 图表的标题

plt.title(image_name)

# 显示图示

plt.legend()

# 保存图

plt.savefig(image_name + ".png")

plt.close()

save_png(image_name, All_X_DATA, All_Y_DATA)

说明:

① 以上代码是考虑了折线图中间有中断的情况(没有数据的时候,折线图是不绘制的):for index in range(len(x)) 和 plt.plot 是核心代码。

② 利用matplotlib.pyplot绘制折线图。

③ All_X_DATA 这是X坐标的列表,All_Y_DATA 这是Y坐标的列表。

4. 堆叠柱状图

# -*- coding: utf-8 -*-

# 折叠柱状图

import matplotlib.pyplot as plt

name_list = ['Monday', 'Tuesday', 'Friday', 'Sunday']

num_list = [1, 4, 8, 9]

num_list1 = [1, 2, 3, 1]

num_list2 = [1, 3, 4, 5]

L = []

for m in range(len(num_list)):

for n in range(len(num_list1)):

if m == n:

L.append(num_list[m] + num_list1[m])

print L

plt.bar(range(len(num_list)), num_list, label='boy')

plt.bar(range(len(num_list)), num_list1, bottom=num_list, label='other', tick_label=name_list)

plt.bar(range(len(num_list)), num_list2, bottom=L, label='girl', tick_label=name_list)

plt.legend()

plt.savefig("Test.png")

784d9bf8a0b9

Test.png

说明:

① 和绘制折线图一样,绘制堆叠柱状图也是利用matplotlib.pyplot。

② 实现堆叠效果的核心代码是'bottom'参数,而bottom的值是之前绘制的所有元素的合。如代码所写:

bottom=num_list的值num_list是label='boy'的值(其实就是和,因为在other绘制之前只绘制了一个),

bottom=L的值L是 label='boy'和label='other'每一项值的和,以此类推,这样才能绘制出堆叠的效果。

5. 后续

如果大家喜欢这篇文章,欢迎点赞;如果想看更多 Python 方面的技术,欢迎关注!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
统计套利是一种利用不同市场或不同证券之间的价格差异进行交易的策略。在实践中,统计套利经常涉及到多个证券之间的关系,并且需要进行复杂的计算和统计分析。Python是一种强大的编程语言,可以用于实现这种策略。 以下是一个简单的使用Python实现统计套利的步骤: 1. 选择需要进行统计套利的证券。这些证券通常具有相关性,例如同一行业的股票、跨国公司的股票等。 2. 收集所选证券的历史价格数据。这可以通过从金融数据提供商如雅虎财经或谷歌财经获取数据,或者使用Python库(如pandas-datareader)来获取数据。 3. 计算每个证券的收益率。根据所选证券的历史价格数据,计算每个证券的收益率。这可以通过计算每个证券的价格变化率来实现。 4. 计算每对证券之间的协方差。使用pandas库中的corr()函数计算每对证券之间的协方差。这可以帮助确定证券之间的相关性。 5. 构建线性回归模型。使用StatsModels库中的OLS()函数构建线性回归模型。该模型可以帮助确定每个证券的权重。 6. 计算每个证券的标准化收益率。根据每个证券的收益率和其权重,计算每个证券的标准化收益率。 7. 计算套利指数。根据每个证券的标准化收益率,计算套利指数。套利指数表示所有选定证券的加权平均值。 8. 制定交易策略。根据套利指数和选定证券的价格变化,制定交易策略。 虽然以上步骤是一个简单的指南,但实际实现统计套利需要更多的计算和分析。但是,使用Python可以让这个过程更加高效和自动化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值