python 数据分析 问题记录

1 pandas处理数据库,对字符使用astype(‘str’)时报错:’ascii’ codec can’t encode character u’\u4e2d’ in position 0)
解决:(1)打开导入时指定文档的编码格式
(2) 引入 sys,设置coding格式。

'''1'''
pd.read_csv('address',encoding='gbk')
'''2'''
import sys  
reload(sys)  
sys.setdefaultencoding('utf-8')  
print str(unicode(k))  

2 数据中时间格式的相互转化

import time   
datetime = "2013-10-10 23:40:00"  
# 先转换为时间数组,然后转换为其他格式 
timeArray = time.strptime(datetime, "%Y-%m-%d %H:%M:%S")  
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)  

3 日期格式数据作差

from datetime import datetime

In [28]: a=datetime.now()

In [29]: b=datetime.now()

In [32]: a
Out[32]: datetime.datetime(2015, 4, 7, 4, 30, 3, 628556)

In [33]: b
Out[33]: datetime.datetime(2015, 4, 7, 4, 34, 41, 907292)

In [34]: str(a)                   字符串的转换,用户储存到文本或者数据库
Out[34]: '2015-04-07 04:30:03.628556'

In [35]:datetime.strptime(str(a),"%Y-%m-%d %H:%M:%S.%f")
Out[35]:datetime.datetime(2015, 4, 7, 4, 30, 3, 628556)

In [36]: (b-a)
Out[36]: datetime.timedelta(0, 278, 278736)

In [37]: (b-a).seconds              时间差的计算,单位为秒
Out[37]: 278

4.pandas 行/类处理

df['c'] = df['a']* df['b']
  • 删除列:
del df['A']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值