如何在 Python 中使用 csv 中的字符串创建图表或折线图
Posted
技术标签:
【中文标题】如何在 Python 中使用 csv 中的字符串创建图表或折线图【英文标题】:How to create chart or line graph in Python with strings in csv 【发布时间】:2018-05-02 12:21:34 【问题描述】:我的 csv 文件包含用于数字的 $ 符号和逗号(附截图)。
如何用它创建一个简单的折线图。我必须转换它并删除 $ 符号吗?
price_index = pandas.read_csv("houses_price_index_losangeles.csv")
price_index['Los Angeles']
price = price_index['Los Angeles']
month = price_index['Month-Year']
plt.plot(price,month,'g',label='Tarzana')
plt.title('Houses for sale')
plt.ylabel('Prices')
plt.xlabel('Year')
plt.legend()
plt.grid(True,color='k')
plt.show()
【问题讨论】:
是的,这是数字数据。你应该这样做。 用price_index['Los Angeles'] = price_index['Los Angeles'].str.replace('[^\d.]', '').astype(float)
转换它然后绘图。
那么“Jan-90”如何使它成为数字 90?谢谢
【参考方案1】:
您需要从价格列中删除所有非数字字符,并将Month-Year
列转换为datetime
对象:
import matplotlib.pyplot as plt
import pandas as pd
price_index = pd.read_csv("houses_price_index_losangeles.csv", delimiter='\t')
price_index['Los Angeles'] = price_index['Los Angeles'].str.replace('[^\d.]', '').astype(int)
price_index['Month-Year'] = pd.to_datetime(price_index['Month-Year'], format='%b-%y')
price_index.plot(x='Month-Year')
plt.title('Houses for sale')
plt.ylabel('Prices')
plt.xlabel('Year')
plt.legend()
plt.grid(True, color='k')
plt.show()
给你:
【讨论】:
以上是关于如何在 Python 中使用 csv 中的字符串创建图表或折线图的主要内容,如果未能解决你的问题,请参考以下文章
如何获取 ADLS Gen2 文件的最后修改日期并将其保存到 python 中的 csv