我有一个数据帧,如下所示:
import pandas as pd
# sample data
# sample data
data = {'RowName': ['A1', 'A2', 'A3'], '20/09/21 (LP%)': [120, 0, 0], '20/09/21 (Vol)': [13, 1, 31], '20/09/21 (OI)': [0, 0, 0], '21/09/21 (LP%)': [135.0, 143.43, 143.43], '21/09/21 (Vol)': [68.6, 63.81, 58.1], '21/09/21 (OI)': [0, 0, 0], '22/09/21 (LP%)': [130, 0, 0], '22/09/21 (Vol)': [0, 0, 0], '22/09/21 (OI)': [75, 80, 85]}
df = pd.DataFrame(data)
# display(df)
RowName 20/09/21 (LP%) 20/09/21 (Vol) 20/09/21 (OI) 21/09/21 (LP%) 21/09/21 (Vol) 21/09/21 (OI) 22/09/21 (LP%) 22/09/21 (Vol) 22/09/21 (OI)
0 A1 120 13 0 135.00 68.60 0 130 0 75
1 A2 0 1 0 143.43 63.81 0 0 0 80
2 A3 0 31 0 143.43 58.10 0 0 0 85
使用matplotlib和pandas中的以下数据帧,是否有打印的方法:
x轴:其中包含(LP%)
的列-以日期为准,并使用这些列中的每一列作为x轴上的点
我选择了使用以下内容的列:
df2 = df.filter(regex='LP%')
y轴:仅A1行的实际值
大概是这样的:
您需要首先重塑数据帧。从如下数据帧开始:
您可以使用以下工具重新塑造形状:
然后,您可以简单地使用以下工具进行绘图:
完整代码
您可以使用以下工具进一步自定义日期时间轴:
查看您的数据帧(假设它名为
df
),我认为最快的方法是转置它,因为您希望使用行作为列:可能要重命名
'Rowname'
列:'A1'
的结果,然后可能需要重复代码来获取其他数据李>suffix='\d+\/\d+\/\d+'
与要提取的日期格式匹配李>'(LP%)'
%M-%D %H
,因为只有少量数据。当有更多天的数据时,格式将更新李>x=
李>y=
指定列名,或者不使用它,所有列都将被打印李>python 3.8.11
、pandas 1.3.2
、matplotlib 3.4.3
、seaborn 0.11.2
'A3'
行覆盖了'A2'
行,因为数据是相同的df
重塑为一个完整的长格式,以便使用^{seaborn
是{相关问题 更多 >
编程相关推荐