私は列の中で何千もの行を取る(例えば、列は時間、t)、今は間隔を探したい列の行の間には、第1行から第2行の値を減算することを意味します(dtを見つけるために)。次に、これらの間隔値で新しい列を作成し、それを元の列に対してプロットしたいと思います。この場合、Python以外の言語が役に立つ場合は、その提案についても感謝します。
私はそのための擬似Pythonコードを書かれている:python pandasデータフレームの前の行から列の行を差し引く
import pandas as pd
import numpy as np
from sys import argv
from pylab import *
import csv
script, filename = argv
# read flash.dat to a list of lists
datContent = [i.strip().split() for i in open("./flash.dat").readlines()]
# write it as a new CSV file
with open("./flash.dat", "wb") as f:
writer = csv.writer(f)
writer.writerows(datContent)
columns_to_keep = ['#time']
dataframe = pd.read_csv("./flash.csv", usecols=columns_to_keep)
df = pd.DataFrame({"#time"})
df["#time"] = df["#time"] + [pd.Timedelta(minutes=m) for m in np.random.choice(a=range(60), size=df.shape[0])]
df["value"] = np.random.normal(size=df.shape[0])
df["prev_time"] = [np.nan] + df.iloc[:-1]["#time"].tolist()
df["time_delta"] = df.time - df.prev_time
df
pd.set_option('display.height', 1000)
pd.set_option('display.max_rows', 1000)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
dataframe.plot(x='#time', y='time_delta', style='r')
print dataframe
show()
は私のコードを更新しました、そして私はまた、私が働いている.datファイルを共有しています。 https://www.dropbox.com/s/w4jbxmln9e83355/flash.dat?dl=0
パンダシフト機能は、このトリックを行う必要があります。 –