如何从终端绘制数据框?

时间:2019-05-24 06:38:39

标签: python pandas dataframe

我在终端中有数据帧作为输出。 看起来像

2008Q1     503836
2008Q2     485872
2008Q3     686549
2008Q4     777268
2009Q1    1006589
2009Q2     849238
2009Q3     906675
2009Q4     973586
2010Q1    1090196
2010Q2    1029980
2010Q3     997876
2010Q4    1044607
2011Q1    1309266
2011Q2    1228180
2011Q3    1234710
2011Q4    1049315
2012Q1     716983
2012Q2     956271
2012Q3     788875
2012Q4     712312
2013Q1     658456
2013Q2     898281
2013Q3     822454
2013Q4     781709
2014Q1     854939
2014Q2     785794
2014Q3     724475
2014Q4     663736
2015Q1     746625
2015Q2     688598
2015Q3     633296
2015Q4     578003
2016Q1     603079
2016Q2     550575
2016Q3     482792
2016Q4     454369
2017Q1     490807
2017Q2     454263

程序运行时间很长,我忘了在代码末尾添加绘图命令。之后是否有办法绘制数据框?还是可以保存数据框然后绘制?

2 个答案:

答案 0 :(得分:0)

因此,如果创建此DataFrame确实很漫长,我建议通过DataFrame.to_csvDataFrame.to_pickleDataFrame保存到csv或pickle中。

然后在第二步中通过read_csvread_pickle创建DataFrame并进行处理-绘图或类似操作。

previous answer一起使用:

out = []
for i in result:
    #use parameter usecols for filter only necessary column(s)
    df = pd.read_csv("crisisuser/"+i, usecols=['time'])
    out.append(df)

列表理解的替代方法:

out = [pd.read_csv("crisisuser/"+i, usecols=['time']) for i in result]

然后将它们连接在一起,并在必要时写入文件:

df = pd.concat(out, ignore_index=True)

df.to_csv('big_file.csv', ignore_index=True)

通过文件创建DataFrame并进行处理:

df1 = pd.read_csv('big_file.csv')
df['quarter'] = pd.PeriodIndex(df.time, freq='Q')
s = df['quarter'].value_counts().sort_index()

s.plot()

答案 1 :(得分:0)

一旦数据框在终端上打印出来并且没有保存,就无法以某种方式自然地绘制它。

由于您说的话,您的运行时间很长,并且大概不想再次运行代码,因此可以复制控制台输出,将其粘贴到问题中,然后粘贴并保存在*.txt文件中{ {1}}。 my_txt.txt可以轻松读取该文件,而无需手动更改格式(假设问题中的格式正是控制台中的格式)

pandas

这给出了enter image description here