我是使用熊貓的新手,但找不到找到找到的極值的完整行的方法
df = pd.read_csv('test.csv')
df['min'] = df.iloc[argrelextrema(df.Close.values, np.less_equal,
order=10)[0]]['Close']
df['max'] = df.iloc[argrelextrema(df.Close.values, np.greater_equal,
order=10)[0]]['Close']
# create lists for `min` and `max`
min_values_list = df['min'].dropna().tolist()
max_values_list = df['max'].dropna().tolist()
print(min_values_list, max_values_list)
它只列印最小值和極值,但我需要找到的最小值/最大值的完整行資料
資料示例:
Datetime,Date,Open,High,Low,Close
2021-01-11 00:00:00 00:00,18638.0,1.2189176082611084,1.2199585437774658,1.2186205387115479,1.2192147970199585
uj5u.com熱心網友回復:
如果需要串列,那么我建議:
def df_to_list_rowwise(df: pd.DataFrame) -> list:
return [df.iloc[_, :].tolist() for _ in range(df.shape[0])]
df_min_values = df.iloc[argrelextrema(np.array(df.Close), np.less_equal)[0], :]
df_max_values = df.iloc[argrelextrema(np.array(df.Close), np.greater_equal)[0], :]
print(df_to_list_rowwise(df_min_values))
print(df_to_list_rowwise(df_max_values))
那會有幫助嗎?
uj5u.com熱心網友回復:
嘗試使用 df.dropna().index.tolist() 而不是指定列,因為添加列名只回傳特定行的值和指定列而不是整行
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/516055.html
下一篇:Matplotlib.pyplot報錯“ValueError:xandymustbethesamesize”回歸分析
