У меня есть некоторый код, который принимает файл CSV, который находит мин / макс каждый день, а затем сообщает мне, в какое время это происходит.У меня также есть 2 переменные, чтобы найти процент для обоих макс / мин.
Это в настоящее время вывод для кадра данных
>Out
High Low
10:00 6.0 10.0
10:05 10.0 3.0
10:10 1.0 7.0
10:15 1.0 NaN
10:20 4.0 4.0
10:25 4.0 4.0
10:30 5.0 1.0
10:35 5.0 6.0
10:40 3.0 2.0
10:45 4.0 5.0
10:50 4.0 1.0
10:55 3.0 4.0
11:00 4.0 5.0
>
Тогда у меня есть 2 varables для% от максимумов / минимумов.. (Показан только тел.)
>[84 rows x 2 columns]
Time
10:00 0.015306
10:05 0.025510
10:10 0.002551
10:15 0.002551
10:20 0.010204
10:25 0.010204
>
Я пытался сделать .insert (), но получаю эту ошибку.
TypeError: insert () занимает от 4 до 5 позиционныхаргументы, но 6 были даны
Это был мой код
#adding % to end of dataframe
result.insert(3,"High %", ph, "Low %", pl)
import pandas as pd
from matplotlib import pyplot as plt
df = pd.read_csv("C:\\Users\\me\\Downloads\\file.csv", encoding = "ISO-8859-1")
#High grouped by Date
df2 = df.loc[df.groupby('Date')['High'].idxmax()]
#dropping columns of no use
df2.drop(['Ticker','Open','Low','Close'], axis=1, inplace=True)
#creating a variable to bucket the time
TH = df2.groupby('Time').size()
#Low grouped by Date
df3 = df.loc[df.groupby('Date')['Low'].idxmin()]
#dropping columns of no use
df3.drop(['Ticker','Open','Low','Close'], axis=1, inplace=True)
#creating a variable to bucket the time
TL = df3.groupby('Time').size()
#Merging Both Dataframes
frames = [TH, TL]
result = pd.concat((frames), axis = 1)
result.columns = ['High','Low']
#Percentage
ph = TH/TH.sum()
pl = TL/TL.sum()
Я бы хотел, чтобы вывод отображал% в столбцах 3 и 4
>Out
High Low % High %Low
10:00 6.0 10.0 .015306
10:05 10.0 3.0 .025510
10:10 1.0 7.0 .002551
10:15 1.0 NaN .002551
10:20 4.0 4.0 .010204
10:25 4.0 4.0 .010204
>