Я прочитал csv-файл, используя pd.read_csv, и создал новый фрейм данных с временами выборки в первом столбце и именами местоположений в качестве следующих имен столбцов.Теперь я хотел бы заполнить значения из csv_read согласно времени выборки и имени местоположения.
read_csv dataframe (df):
Index Location Description .... Sample Time ... Value
0 Location_1_100 .... 2018-12-13 00:30:00 ... 0.45
1 Location_1_101 .... 2018-12-13 00:30:00 .... 0.33
готов к заполнению dataframe (master):
Index Sample Time Location_1_100 Location_1_101 ...
0 2018-12-13 00:30:00 Value from df Value from df
1 2018-12-13 01:00:00 Value from df Value from df
import csv
import numpy as np
import pandas as pd
df = pd.read_csv(remove_bom('file.csv'), parse_dates=['Sample Time'])
df['Sample Time'] = df['Sample Time'].dt.round('30min')
sensoren = df.drop_duplicates('Location Description')
master = pd.DataFrame(data={'Sample Time':df['Sample Time']})
master = master.drop_duplicates()
master = master.reindex(columns=master.columns.tolist()+sensoren['Location Description'].tolist())
for ind, column in enumerate(master.columns[1:]):
master[column][ind]=df.loc[(df['Location Description'] == column)&(df['Sample Time'] == master['Sample Time'][ind])
Этот код должен заполнять значения из df в master, но он заполняет только первое время выборки в первом местоположении, второе время выборки во втором местоположении и т. Д.
Iтакже пробовал некоторые вложенные циклы for, но поскольку я новичок в python, я не работал должным образом.