数据结构大作业之数据分析

大纲:
在这里插入图片描述课程链接
课程内容:
在这里插入图片描述
在这里插入图片描述一、 numpy
在这里插入图片描述

  1. 数据的维度
    (1)一维数据:
    在这里插入图片描述(2)二维数据
    在这里插入图片描述(3)多维数据
    在这里插入图片描述(4)高维数据
    在这里插入图片描述
    python中的数据表示:
    (1)
    在这里插入图片描述(2)
    在这里插入图片描述
  2. numpy数据处理的基础:
    在这里插入图片描述
    ——为什么需要数组对象(类型)?
    基本概念:
    在这里插入图片描述在这里插入图片描述

在这里插入图片描述
numpy数据类型:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述CSV文件:
savetxt() //存取为csv文件
loadtxt() //读入csv文件

二、 Pandas
在这里插入图片描述


实际操作:

对csv文件提取字符串中的数字数据:
参考链接

  • open()操作
  • re库,正则表达式提取
  • writer.writerow()文件写入操作
  • 写列表到csv文件:参考博客
#提取字符串中的数字——“…bhigiug*?";123“得到“123“”
# -*- coding: utf-8 -*
import csv
import re
import pandas as pd
pattern = re.compile(r'\d+')

fname = 'last-last.csv'
num = []
with open(fname, 'r', encoding='UTF-8') as f:
    rows = csv.reader(f)
    for row in rows:
        if row[0] == "name":
            continue
        num.append([*pattern.findall(row[6])])

num2 = []
for i in range(len(num)):
    if(len(num[i]) == 0):
        npp = []
        npp.append('0')
        num2.append(npp)
    else:
        npp=[]
        npp.append(num[i][0])
        num2.append(npp)

print(num2)

name = ['price']

#test.tocsv('test.csv')
with open('test.csv','w', newline='') as f:
     writer = csv.writer(f,delimiter='\t', quotechar=' ', quoting=csv.QUOTE_MINIMAL)
     writer.writerow(name)
     for row in num2:
        writer.writerows(row)
#提取首日期:从2020.2.3-2020.4.5(19:30)得到2020.2.3
# -*- coding: utf-8 -*
import csv
import re
import pandas as pd
pattern = re.compile(r'[0-9]+\.+[0-9]+\.+[0-9]') #正则表达式的使用

fname = 'last-last.csv'
num = []
with open(fname, 'r', encoding='UTF-8') as f:
    rows = csv.reader(f)
    for row in rows:
        if row[0] == "name":
            continue
        num.append([*pattern.findall(row[5])])

num2 = []
for i in range(len(num)):
    if(len(num[i]) == 0):
        npp = []
        npp.append('0.0.0')
        num2.append(npp)
    else:
        npp=[]
        npp.append(num[i][0])
        num2.append(npp)

print(num2)

name = ['date']

#test.tocsv('test.csv')
with open('test.csv','w', newline='') as f:
     writer = csv.writer(f,delimiter='\t', quotechar=' ', quoting=csv.QUOTE_MINIMAL)   #注意delimier参数:默认,;必须为一个字符长的string,当为\t时,excel打开数据是在一个单元格中
     writer.writerow(name)
     for row in num2:
        writer.writerows(row)

猜你喜欢

转载自blog.csdn.net/qq_43642447/article/details/106329476