import numpy as np
import pandas as pd
df = pd.DataFrame({'dt': ['2021-2-13', '2022-2-15'],
'w': [5, 7],
'n': [11, 8]})
df.reset_index()
print(list(df.loc[:,'dt'].values))给出:'2021-2-13','2022-2-15‘
需要:('2021-2-13'),('2022-2-15')
重要的(在注释的Q):“需要”是"mplfinance“接受绘图的vline参数的方式??我需要在图表的x轴上为指定的日期绘制垂直线。
import mplfinance as mpf
RES['Date'] = RES['Date'].dt.strftime('%Y-%m-%d')
my_vlines=RES.loc[:,'Date'].values # NOT WORKS
fig, axlist = mpf.plot( ohlc_df, type="candle", vlines= my_vlines, xrotation=30, returnfig=True, figsize=(6,4))只有当my_vlines= ('2022-01-18'),('2022-02-25')
解决了:哦,它看起来真的很简单
my_vlines=list(RES.loc[:,'Date'].values) 发布于 2022-10-14 17:01:12
您的问题要求提供一个Numpy数组的列表,但是您想要的输出看起来像元组。如果您需要元组,请注意是逗号使元组不是括号,所以您应该这样做:
desired_format = [(x,) for x in list(df.loc[:,'dt'].values)]如果您想要numpy数组,可以这样做。
desired_format = [np.array(x) for x in list(df.loc[:,'dt'].values)]发布于 2022-10-14 17:10:10
我想我理解你的问题。请查看下面的示例代码,如果这解决了您的问题,请告诉我。我对您的数据进行了扩展,以满足mplfinance绘图标准。
import pandas as pd
import numpy as np
import mplfinance as mpf
df = pd.DataFrame({'dt': ['2021-2-13', '2022-2-15'],'Open': [5,7],'Close': [11, 8],'High': [21,30],'Low': [7, 3]})
df['dt']=pd.to_datetime(df['dt'])
df.set_index('dt', inplace = True)
mpf.plot(df, vlines = dict(vlines = df.index.tolist()))https://stackoverflow.com/questions/74072332
复制相似问题