【发布时间】:2019-08-01 08:47:52
【问题描述】:
我想定位数据集中的所有峰和谷。我找到了一个可行的解决方案,但是我不得不手动进入并将列标题更改为仅包含一个单词的名称。 我不会制作一个可以处理多个不同 csv 文件的函数,并且更改所有文件上的列名很麻烦
我已经尝试将列标题设为变量,但熊猫不喜欢这样。我收到错误“AttributeError: 'DataFrame' object has no attribute 'typ”。
如果我手动将列名更改为“数据”,这是可行的。
df = pd.read_csv(path,index_col=False).set_index('Timestamp')
df = pd.DataFrame(df, columns=['Data'])
df['min'] = df.iloc[argrelextrema(df.Data.values, np.less_equal, order=n)[0]['Data']
df['max'] = df.iloc[argrelextrema(df.Data.values, np.greater_equal, order=n)[0]]['Data']
这是我更想做的事情:
def peaks_valleys(path,typ,acc):
df = pd.read_csv(path,index_col=False).set_index('Timestamp')
df = pd.DataFrame(df, columns=[typ])
n = acc #antall nummer sjekket før og etter
df['min'] = df.iloc[argrelextrema(df.typ.values, np.less_equal, order=n)[0]][]typ
df['max'] = df.iloc[argrelextrema(df.typ.values, np.greater_equal, order=n)[0]][typ]
【问题讨论】:
标签: python python-3.x pandas numpy scipy