本文目錄一覽:
python怎麼計算同一列時間後一項減前一項
假設你原來的
list = [tim1,tim2,time3,tim4]
新的list
nlist = [list[i+1]-list[i] for i in range(len(list)-1)]
python的pandas怎麼求列間差?
如果該列的時間是時間格式,如2020-6-19,則你可以
把這一列的時間類型轉換成日期類型
單獨取這一列出來,處理。即從第二個值開始,當位置的新前值=當前位置的值-前面一個的值,結果為一個時間段對象。
處理完成,再覆蓋原來dataframe中已有的列即可。
python txt數據 作差
我的Python 版本為 : 3.6.2, 環境為 Windows 7
# -*- coding:utf-8 -*-
import os
initFile = ‘./test.txt’
resultFile = ‘./test1.txt’
def init():
print(‘初始化數據中, 請稍等….\n’)
with open(initFile, ‘w’) as f:
initValue = 1
currentValue = 1
while(True):
if currentValue 10000: break
f.write(str(currentValue) + ‘\n’)
currentValue += initValue
initValue += 1
print(‘初始數據文件已經生成成功, 它位於 [ {} ]\n’ . format(initFile))
def action():
if not os.path.exists(initFile):
return print(‘初始文件不存在, 請選初始化數據\n’)
print(‘這是所有式子 : \n’)
with open(resultFile, ‘w’) as _f:
with open(initFile, ‘r’) as f:
mark = None
for line in f.readlines():
line = int(line.strip())
if mark == None:
mark = line
else:
print(‘{}-{}={}’.format(line, mark, line-mark))
_f.write(
str(line – mark) + ‘\n’
)
mark = line
print(‘結果文件已經成功生成, 它位於 [ {} ]\n’ . format(resultFile))
def menu():
print(‘請選擇你的需求 :’)
id = int(input(‘1、初始化數據 2、已有數據, 生成結果\n’))
if (id == 1): init()
if (id == 2): action()
return menu()
menu()
求python的list的差值
要完全避免for,連列表表達式中使用for都不可以的話,主要就靠functools的reduce了。
因為在排除for之後,簡單直接的辦法中,只有reduce是可以處理列表中連續兩個元素的。
當然,也可以不用reduce,使用map也是可以的:
至於做成方法,定義一個基於list的類後也差不多:
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/295397.html