大纲:
课程链接
课程内容:
一、 numpy
- 数据的维度
(1)一维数据:
(2)二维数据
(3)多维数据
(4)高维数据
python中的数据表示:
(1)
(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)