adamzhl 2022-09-27 20:28 采纳率: 64.7%
浏览 127
已结题

python数据处理

python 数据绘图处理

这个是数据的截图
https://img-mid.csdnimg.cn/release/static/image/mid/ask/421186182466143.png

根据下面公式获取数据的y 值,x=i++
把(x,y)坐标的散点图绘制在坐标系中,对点集合平滑处理为曲线
if filetype = ='2'
bandwidth = 1000 * 8 *fileByte/(totalTime-Rttime)

表格链接:https://docs.google.com/spreadsheets/d/1w2VjitfKEZBU0gL6wdBBXulQOB2BVYb1qG03AUcnbcc/edit#gid=1558362523


import csv
from matplotlib import pyplot as plt
from datetime import datetime
import numpy as np
from matplotlib import rc

filename = './input/1234562.csv'
with open(filename) as f:
    reader = csv.reader(f)
    header_row = next(reader) #调用next()方法,将阅读器对象的行传递给文件的第一行,并返回文件对象的下一行数据
    heads = []
    lows = []
    datas = []
    cows = []
    i = 0
    j=0
    nums = 0
    for rows in reader: 
        RTT = rows[1]
        Totaltime = rows[2]
        downbyte = rows[3]
        filetype = rows[4]
        
        RTTs = RTT.split(',')
        Totaltimes = Totaltime.split(',')
        downbytes = downbyte.split(',')
        keys = filetype.split(',')
        #print(keys)
        #print(keys[0])
        for key in keys:
            j=j+1
            if key == '2':
                Downs =downbytes[j-1] 
                rtts = RTTs[j-1]
                totaltime = Totaltimes[j-1]
                print(Downs,rtts,totaltime)
                if totaltime != rtts:
                    asim =int(Downs) * 1000 * 8 /(int(totaltime) - int(rtts ))  
                    print(int(Downs) ,int(totaltime) - int(rtts ))
                    lows.append(asim)
                    cows.append(i)
                    i=i+1
        j=0
                                        
    print(lows)              
       
    fig = plt.figure(dpi=128, figsize=(15,9))
    #Splt = fig.add_subplot(111)
    plt.plot(cows,lows, '-', label = 'Quantity 1', c='red')
    #plt2 = plt.twinx()
    #plt2.plot(datas, lows, '-', label = 'Quantity 2', c='blue')
    plt.legend(loc=0)
    plt.grid()
    plt.title("Levels",fontsize = 24)
    plt.xlabel('nums',fontsize = 16)
    plt.ylabel('level',fontsize= 16)
    #plt2.ylabel('bwe',fontsize= 16)
    plt.show()
    
    

运行结果及报错内容

Input In [9]
lows.append(asim)
^
SyntaxError: invalid syntax

我的解答思路和尝试过的方法

if filetype = ='2'
bandwidth = 1000 * 8 *fileByte/(totalTime-Rttime)

我想要达到的结果

jupyter 在坐标轴内输出点的数据,近似得到一条曲线

img

  • 写回答

2条回答 默认 最新

  • _GX_ 2022-09-27 20:48
    关注

    第35行括号没匹配,改为

    asim =int(Downs * 1000 * 8 /(int(totaltime - int(rtts ))))
    
    评论
  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-27 22:02
    关注
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月30日
  • 修改了问题 9月27日
  • 赞助了问题酬金15元 9月27日
  • 修改了问题 9月27日
  • 展开全部

悬赏问题

  • ¥15 qt https 依赖openssl 静态库
  • ¥15 python flask 报错
  • ¥15 改个密码引发的项目启动问题
  • ¥100 CentOS7单线多拨
  • ¥15 debian安装过程中老是出现无法将g21dr复制到g21dr怎么解决呀?
  • ¥15 如何用python实现跨工作簿的指定区域批量复制粘贴
  • ¥15 基于CH573f的雷迪安CR1400m通讯代码
  • ¥15 matlab m文件如何与matla app designer 数据交互?
  • ¥15 c++数据结构与算法问题
  • ¥15 根据控制框图,传递函数求解