Python 以列表形式返回峰值
我有一些代码将局部最大值标识为峰值。我想以列表的形式返回峰值Python 以列表形式返回峰值,python,list,scipy,Python,List,Scipy,我有一些代码将局部最大值标识为峰值。我想以列表的形式返回峰值[3,6,8,10],但当它打印出来时,它返回为[3 6 8 10],不带逗号。我如何将峰值作为列表返回?或者有没有一种方法可以从这个函数返回列表 import numpy as np import matplotlib.pyplot as plt from random import uniform from scipy.signal import find_peaks, argrelextrema import pandas as
[3,6,8,10]
,但当它打印出来时,它返回为[3 6 8 10]
,不带逗号。我如何将峰值作为列表返回?或者有没有一种方法可以从这个函数返回列表
import numpy as np
import matplotlib.pyplot as plt
from random import uniform
from scipy.signal import find_peaks, argrelextrema
import pandas as pd
player_name = 'player'
game_log = [22.7, 16.7, 18.5, 38.2, 1.5, 8.6,
12.6, 7.4, 34.5, 23.2, 34.5, 20.5, 24.0, 35.1]
rounded_game_log = [round(x) for x in game_log]
formatted_game_log = np.array(rounded_game_log)
y = formatted_game_log
y = np.array(y)
x = (range(0, (len(formatted_game_log))))
x = np.array(x)
colors = (0, 0, 0)
area = np.pi*3
dips = np.where((y[1:-1] < y[0:-2]) * (y[1:-1] < y[2:]))[0] + 1
plt.xticks(np.arange(min(x), max(x)+5, 1.0))
plt.yticks(np.arange(min(y), max(y)+5, 5.0))
plt.axhline(y.mean(), color='k',
linestyle='dashed', linewidth=1)
plt.plot(x, y, c=colors, alpha=0.5)
peaks, _ = find_peaks(y)
plt.plot(peaks, y[peaks], "x")
plt.plot(dips, y[dips], 'o')
plt.title(player_name)
plt.xlabel('Games')
plt.ylabel('Fantasy Points')
plt.show()
将numpy导入为np
将matplotlib.pyplot作为plt导入
从随机导入制服
从scipy.signal import查找_peaks,argrelextrema
作为pd进口熊猫
玩家名称='player'
游戏日志=[22.7,16.7,18.5,38.2,1.5,8.6,
12.6, 7.4, 34.5, 23.2, 34.5, 20.5, 24.0, 35.1]
四舍五入的游戏日志=[游戏日志中x的四舍五入(x)]
格式化的游戏日志=np.数组(四舍五入的游戏日志)
y=格式化的游戏日志
y=np.数组(y)
x=(范围(0,(len(格式化的游戏日志)))
x=np.数组(x)
颜色=(0,0,0)
面积=np.pi*3
倾角=np,其中((y[1:-1]
试试这个:
print(peaks.tolist())
只需将数组转换为列表。请试一试。此外,发布描述问题所需的最少代码。事实上,所有发布的代码都不会处理您的问题。
print(peaks.tolist())