Eva*_*Kim 4 python matplotlib scatter-plot
我在互联网上进行了大量繁琐的搜索,似乎我无法弄清楚如何提出正确的问题来获得我想做的事情的答案。
我想创建与散点图P / E比在y轴和股息率在x轴上。我将数据放入一个 CSV 文件中,然后将每一列作为单独的列表导入 Python。
下面是我的散点图的结果。我很困惑为什么 x 轴和 y 轴没有按数字排序。我想我必须将列表中的元素转换为浮点数,然后在将其转换为散点图之前进行某种排序。
我能想到的另一个选项是能够在创建散点图的过程中对值进行排序。
这些都没有解决,我已经走到了死胡同。任何帮助或指向正确方向将不胜感激,因为我只能描述我的问题,但似乎无法在我的搜索中提出正确的问题。
import csv
import matplotlib.pyplot as plt
etf_data = csv.reader(open('xlv_xlu_combined_td.csv', 'r'))
for i, row in etf_data.iterrows():
symbol.append(row[0])
index.append(row[1])
dividend.append(row[2])
pe.append(row[3])
symbol.pop(0)
index.pop(0)
dividend.pop(0)
pe.pop(0)
indexes = [i.split('%', 1)[0] for i in index]
dividend_yield = [d.split('%', 1)[0] for d in dividend]
pe_ratio = [p.split('X', 1)[0] for p in pe]
x = dividend_yield[:5]
y = pe_ratio[:5]
plt.scatter(x, y, label='Healthcare P/E & Dividend', alpha=0.5)
plt.xlabel('Dividend yield')
plt.ylabel('Pe ratio')
plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)
xlv_xlu_combined_td.csv
symbol,index,dividend,pe
JNJ,10.11%,2.81%,263.00X
UNH,7.27%,1.40%,21.93X
PFE,6.48%,3.62%,10.19X
MRK,4.96%,3.06%,104.92X
ABBV,4.43%,4.01%,23.86X
AMGN,3.86%,2.72%,60.93X
MDT,3.50%,2.27%,38.10X
ABT,3.26%,1.78%,231.74X
GILD,2.95%,2.93%,28.69X
BMY,2.72%,2.81%,97.81X
TMO,2.55%,0.32%,36.98X
LLY,2.49%,2.53%,81.83X
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6628 次 |
| 最近记录: |