【问题标题】:How can I evenly space date data from a data frame?如何从数据框中均匀地间隔日期数据?
【发布时间】:2015-10-06 07:14:46
【问题描述】:

我有一个实验测量数据框。

我可以使用 pandas 轻松绘制数据框中的数据。这是结果。

日期在轴上是均匀分布的,但实际上它们并不是均匀分布的。如何准确表示测量之间的时间?

这是我绘制数据框的代码:

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

normal_df= pd.DataFrame(normal, columns = cols, index = rows[2::])
print normal_df

#Write the data frame to an xlsx file

normal_df.to_excel(csv_file[0:-4] + '_Normalized_Survival.xlsx')

avg = normal_df.mean()

errors = normal_df.sem()

avg.plot(marker = 'v',yerr = errors)
plt.title('Mean Survival with Standard Error',fontsize = 20)
plt.xticks(fontsize = 12,rotation = 45)
plt.yticks(fontsize = 12)
plt.xlabel('Time',fontsize = 18)
plt.ylabel('% Survival',fontsize = 18)
plt.xlim([0,6.1])
plt.legend(['Survival'])
plt.show()

【问题讨论】:

    标签: python date pandas matplotlib plot


    【解决方案1】:

    这是您可以尝试的一个选项,通过执行字符串操作来提取整数 Day 并将索引设置为结果值

    In [10]: cpy = [100, 89, 84, 73, 65, 6, 0]
    
    In [11]: days = ['Day 1','Day 2','Day 3','Day 6','Day 9','Day 14','Day 16']
    
    In [12]: df = pd.DataFrame({'day':days,'val':cpy})
    
    In [13]: df['dayint'] = df.day.apply(lambda x : int(x.split(' ')[-1]))
    
    In [14]: df.set_index(df.dayint, inplace=True)
    
    In [15]: df.val.plot()
    
    In [16]: plt.show()
    

    【讨论】:

      猜你喜欢
      • 2018-01-23
      • 2016-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      • 1970-01-01
      • 1970-01-01
      • 2021-10-19
      相关资源
      最近更新 更多