字符串转列表练习

fname=input("请输入要打开的文件:")#D:/数学建模练习/2022年MathorCup大数据竞赛-赛道A初赛/附件1:订单数据.txt
#D:/数学建模练习/2022年MathorCup大数据竞赛-赛道A初赛/附件2:阿姨数据.txt
file=open(fname,'r')
file.readlines()
l2=[]
t=['\n']
l2=list(file)
for l in l2:
    t.append(l.split(','))
file.close() 
fname1=input("请输入要存入的文件:")#D:/数学建模练习/2022年MathorCup大数据竞赛-赛道A初赛/1.csv
#D:/数学建模练习/2022年MathorCup大数据竞赛-赛道A初赛/2.csv
file1=open(fname1,'a')
for line in t:
    file1.writelines(line) 
file1.close()

解决一行不同字符出现在一个单元格里:csv文件在excel中是这样显示的

python怎么读取txt文件的某一列?(python指定读取txt某一列)

利用文件读写打开读取文件并写入信息:

import numpy as np
k=[]
l2=[]
t=[]
for o in range(1):
    op=0
    fname=input("请输入要打开的文件:")#D:/数学建模练习/2022年MathorCup大数据竞赛-赛道A初赛/附件1:订单数据.txt
    #D:/数学建模练习/2022年MathorCup大数据竞赛-赛道A初赛/附件2:阿姨数据.txt
    file=open(fname,'r')
    p=file.readlines()
    k.append(len(p))
    file.close() 
    fname1=input("请输入要存入的文件:")#D:/数学建模练习/2022年MathorCup大数据竞赛-赛道A初赛/1.csv
    #D:/数学建模练习/2022年MathorCup大数据竞赛-赛道A初赛/2.csv
    file1=open(fname1,'a')
    for line in p:
        file1.write(line)
    file1.close()

利用numpy库读取数据:

先样本抽样,基于 Python 的 8 种常用抽样方法 - 元宇宙

根据样本绘制散点图,然后聚类分析:

替换列表元素:python 直接替换列表中的元素4种方法_python替换列表中的元素_秋天の的博客-CSDN博客

绘制散点图:python绘制散点图的两种方法 - python基础教程

画拟合线:python - 如何添加一条最适合散点图的线 - IT工具网

import numpy as np
import random
import pandas as pd
import matplotlib.pyplot as plt
#为了便于处理数据将第一行的标题删除了,人为记录标题
step1()
step1()
#根据统计阿姨的数量大于订单数
def step1():
    k=[]
    axis=[]
    l2=[]
    t=[]
    for o in range(1):
        data=[]
        op=0
        fname=input("请输入要打开的文件:")#D:/数学建模练习/2022年MathorCup大数据竞赛-赛道A初赛/附件1:订单数据.txt
        #D:/数学建模练习/2022年MathorCup大数据竞赛-赛道A初赛/附件2:阿姨数据.txt
        file=open(fname,'r')
        p=file.readlines()#统计单数
        k.append(len(p))
        print(k[0])
        file.close() 
        data=np.loadtxt(fname,dtype=float,delimiter=',')
    for i in data:
        oo=[i[-2],i[-1]]#统计坐标
        axis.append(oo)
    print(len(axis))
    part=[]
    part1=[]#第一象限包括x轴的正半轴,包括原点
    part2=[]#第二象限包括y轴的正半轴
    part3=[]#第三象限包括x轴的负半轴
    part4=[]#第四象限包括y轴的负半轴
#分成四个坐标抽样
    for i in axis:
        if i[0]>=0.0 and i[1]>0.0 or(i[0]==i[1]==0):
            part1.append(i)
        elif i[0]<0.0 and i[1]>=0.0:
            part2.append(i)
        elif i[0]<=0.0 and i[1]<0.0:
            part3.append(i)
        elif i[0]>0.0 and i[1]<=0.0:
            part4.append(i)
    part=[len(part1),len(part2),len(part3),len(part4)]
    sample=len(p)/20#共抽取约110个样本
    rate=[]
    part_1=[]
    for i in part:
        part_1.append(int(i*sample/len(p)))#根据输出判断订单分布并绘制散点图
    print(part_1)
    sample_1=[]
    ll=[part1,part2,part3,part4]
    for i in ll: 
        sample_1.append(pd.DataFrame(i))
    paint1=[]
    paint2=[]
    for i in range(len(sample_1)):
        paint1+=(list(sample_1[i].sample(n=part_1[i])[0]))#去掉DtaFrame中的data等说明,利用两个列表相加
        paint2+=list(sample_1[i].sample(n=part_1[i])[1])
    print(paint1)
    print(paint2)
    plt.scatter(paint1,paint2)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值