Сообщение Re: Давайте сравним от 15.01.2020 16:05
Изменено 15.01.2020 16:06 Ватакуси
Re: Давайте сравним
"Плохой питон" печатает отсутствующие данные из поступающего через stdin файла(см. http://files.rsdn.org/315/ts1.txt):
import pandas as pd
import numpy as np
from click._compat import raw_input
from dateutil import parser
def calcMissing(readings:list) -> None:
dates = []
values = []
missings = []
for r in readings:
timeStamp, val = r.split("\t")
timeStamp = parser.parse(timeStamp)
if val.startswith("Missing_"):
val = np.nan
missings.append(len(values))
else:
val = float(val)
values.append(val)
dates.append(timeStamp)
df = pd.DataFrame({"dates": dates, "values": values})
df = df.set_index("dates")
df.interpolate(method="time", inplace=True, limit_direction="both")
for missIndex in missings:
print(df["values"].values[missIndex])
if __name__ == '__main__':
readings_count = int(raw_input().strip())
readings = []
for _ in range(readings_count):
readings_item = raw_input()
readings.append(readings_item)
calcMissing(readings)
========
Предлагайте как это сделать так же ненавязчиво в ц++ и иже с ним. Желательно, чтобы результат совпадал.
import pandas as pd
import numpy as np
from click._compat import raw_input
from dateutil import parser
def calcMissing(readings:list) -> None:
dates = []
values = []
missings = []
for r in readings:
timeStamp, val = r.split("\t")
timeStamp = parser.parse(timeStamp)
if val.startswith("Missing_"):
val = np.nan
missings.append(len(values))
else:
val = float(val)
values.append(val)
dates.append(timeStamp)
df = pd.DataFrame({"dates": dates, "values": values})
df = df.set_index("dates")
df.interpolate(method="time", inplace=True, limit_direction="both")
for missIndex in missings:
print(df["values"].values[missIndex])
if __name__ == '__main__':
readings_count = int(raw_input().strip())
readings = []
for _ in range(readings_count):
readings_item = raw_input()
readings.append(readings_item)
calcMissing(readings)
========
Предлагайте как это сделать так же ненавязчиво в ц++ и иже с ним. Желательно, чтобы результат совпадал.
Re: Давайте сравним
"Плохой питон" печатает отсутствующие данные из поступающего через stdin файла(см. http://files.rsdn.org/315/ts1.txt):
Предлагайте как это сделать так же ненавязчиво в ц++ и иже с ним. Желательно, чтобы результат совпадал.
import pandas as pd
import numpy as np
from click._compat import raw_input
from dateutil import parser
def calcMissing(readings:list) -> None:
dates = []
values = []
missings = []
for r in readings:
timeStamp, val = r.split("\t")
timeStamp = parser.parse(timeStamp)
if val.startswith("Missing_"):
val = np.nan
missings.append(len(values))
else:
val = float(val)
values.append(val)
dates.append(timeStamp)
df = pd.DataFrame({"dates": dates, "values": values})
df = df.set_index("dates")
df.interpolate(method="time", inplace=True, limit_direction="both")
for missIndex in missings:
print(df["values"].values[missIndex])
if __name__ == '__main__':
readings_count = int(raw_input().strip())
readings = []
for _ in range(readings_count):
readings_item = raw_input()
readings.append(readings_item)
calcMissing(readings)
Предлагайте как это сделать так же ненавязчиво в ц++ и иже с ним. Желательно, чтобы результат совпадал.