#python #time-series #shift
#python #временные ряды #сдвиг
Вопрос:
Я изо всех сил пытаюсь найти способ «сдвинуть» данные из .csv, чтобы привести все .csv к четной начальной позиции?
Есть ли простой метод в Python для этого?
На моей фотографии ниже ряды данных, которые сдвинуты, находятся в черном прямоугольнике, и я хочу переместить их влево. Было бы неплохо также выбросить первые точки (где y = 20); поскольку эти точки данных для меня не важны.
# We will first set a variable for the filenames that start with K, and another variable for the filenames
# that start with a Z. The glob function allows us to reach through the directory searching only for these files.
filenamesK = glob("C:/Users/Kl*.csv")
# We will create a function for plotting, instead of nesting lots of if statements within a long for-loop.
def plot_data(filename, fig_ax, color):
df = pd.read_csv(f, sep=',',skiprows=24) # Read in the csv.
df.columns=['sample','Time','ms','Temp1'] # Set the column names
df=df.astype(str) # Set the data type as a string.
df["Temp1"] = df["Outlet"].str.replace(' ', '').str.replace(' ', '').astype(float) # Convert to float
fig_ax.plot(df[["Temp1"]], color=color)
fig, ax = plt.subplots(figsize=(20, 15))
for f in filenamesK:
plot_data(f, ax, 'red')
#for f in filenamesZ:
# plot_data(f, ax, 'blue')
plt.show()
Комментарии:
1. не должны
fig, ax = plt.subplots(figsize=(20, 15))
быть сведены в таблицу, чтобы соответствовать def? Для тестов не могли бы вы создать не менее 2 образцов csv?2. Хм, похоже, это работает с plt.subplots снаружи. Во-вторых, каков наилучший способ прикрепить csv?
3. цитата из домашней политики:
Sample data should be of sufficiently small size to avoid requiring attachments to communicate.
, может быть, просто приведите несколько строк из двух разных серий, просто чтобы попробовать этот сдвиг во времени. Даже с очень небольшим количеством данных мы должны видеть вещи
Ответ №1:
Вы можете читать свои переменные с помощью index
df[«Temp1»][50:100] df[«Outlet»] [50:100]
Помните, что все переменные, которые вам нужны для построения графика, имеют одинаковое измерение.
Пока.