python 时间处理

1、时间格式转换(2014->20140101->20141231)
2、日期数据与其他日期数据合并(pd.merge)
3、计算相关性以及p值

# Python
# read in emission
import datetime
from datetime import timedelta
ems=pd.read_csv('./csv/emission.csv')
ems['ds']= pd.to_datetime(ems['Year'],format='%Y')
year=(ems['ds'].dt.year).values

# method 1
for i,num in enumerate(year):
    ems['ds'][i]=datetime.datetime(num, 12, 31)
print(ems['ds'])

# method 2
#lambda x:x*i for i in range(4)]
te=[datetime.datetime(x, 12, 31) for x in year]
ems['hi']=te
print(ems['hi'])

ems=ems.set_index('ds')
sumey=pd.merge(sumey,ems['PM_per'],on='ds',how='outer',sort=True)
sumey=pd.merge(sumey,ems['NO_per'],on='ds',how='outer',sort=True)
sumey=pd.merge(sumey,ems['SO_per'],on='ds',how='outer',sort=True)
print(type(sumey))
print(sumey)

# plot
for i,num in enumerate(sumey.columns):
    print('i=',i)
    x =sumey[num]
    for j in range(i+1,len(sumey.columns)):
        y=sumey[sumey.columns[j]]
        print('x=',num,'y=',sumey.columns[j])

        bad = ~np.logical_or(np.isnan(x), np.isnan(y))
        x1=np.compress(bad, x) 
        x2=np.compress(bad, y) 
        r,p = stats.pearsonr(x1,x2)  
        print('r = %6.5f,p = %6.5f'%(r,p))
print(sumey.corr())
sumey.corr().to_csv('./csv/correlation.csv')
fig = pd.plotting.scatter_matrix(sumey,figsize=(6,6),c ='blue',marker = 'o',diagonal='',alpha = 0.8,range_padding=0.2)
#plt.show()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 时间处理模块 1.1. time.time()time time() 返回当前时间的时间戳 输出:15606616...
    Alcazar阅读 3,596评论 0 4
  • datetime类是Python处理日期和时间的标准库。datetime是date与time的结合体,包括date...
    hufengreborn阅读 14,839评论 1 9
  • 老树花枝俏,春回大地新。 云江风日暖,白鹭觅芳茵。 (平水韵·十一真)
    不惑而歌阅读 1,612评论 0 14
  • “您有新的美团外卖订单,请您及时处理。”这一声熟悉的话语打破了清晨的宁静,除夕也就这样开始了。 开店之前我们各自忙...
    豆奶_c18e阅读 1,677评论 1 2
  • 诗人的远方从何说起? 某年某月某日,一张关于撒哈拉沙漠的照片,触动了一个名曰“陈懋平”女人的前世的乡愁,然后,...
    宫尘阅读 2,744评论 1 6