问题描述
我想在Python中使用for
循环在df中制作多个散点图(每列一个)。我还希望能够通过输入列名来显示图。
请参阅示例代码:
import plotly.express as px
import pandas as pd
df = pd.DataFrame({'A': [3,1,2,3],'B': [5,6,7,8],'C': [2,3]})
df
A B C
0 3 5 2
1 1 6 1
2 2 7 6
3 3 8 3
我最近得到的是这个
for i in df.columns:
i = px.scatter(df,x="A",y=i)
但这无法为每个图分配一个值。我希望能够通过输入A来显示A列的图,并通过输入B等来显示B的图。
解决方法
您可以将情节添加到像这样的字典中
plots = {i: px.scatter(df,x="A",y=i) for i in df.columns}
等效但短于
plots = {}
for i in df.columns:
plots[i] = px.scatter(df,y=i)
然后可以使用plots['A']
,plots['B']
和plots['C']