1. csv问题
1.1 pandas读取CSV文件报错:
报错信息:pandas.errors.ParserError: Error tokenizing data. C error: Expected 4 fields in line 26, saw 6
解决:打开后另存为一下
1.2 CSV打开乱码
解决:记事本等工具打开后另存为,修改编码ANSI
1.3 编码错误
解决:to_csv()方法的encoding参数默认为"gbk",而read_csv()方法的encoding参数默认为"utf-8"
1.4 csv文件名带中括号报错问题
解决:去除中括号
1.5 to_excel后数据出现科学计数法
解决:令col1=col1.astype('str')
2. Python安装包出现的问题
2.1 导入scipy报错
报错:ImportError: cannot import name NUMPY_MKL
解决: 安装新版本numpy+mkl
2.2 selenium.common.exceptions.WebDriverException
报错:Message: Service chromedriver.exe unexpectedly exited. Status code was: 1
解决:在路径中,加入Chromedriver http://chromedriver.storage.googleapis.com/index.html?path=2.30/
2.3 爬虫
报错:urllib2.URLError: <urlopen error [Errno 10061] >
解决方法:打开IE浏览器,依次选择 工具——Internet选项——连接——局域网设置,取消代理服务器复选框
动态加载问题解决:
http://phantomjs.org/ 安装后
from selenium import webdriver
driver = webdriver.PhantomJS(executable_path='D:\phantomjs-2.1.1-windows/bin\phantomjs.exe')
driver.get(url)
3. 空值报错问题
3.1 None 错误-ValueError
报错:None 错误-ValueError: (u'Unknown string format:', 'None')
解决:逐列进行修改——df['ex_time'] = df['ex_time'].replace({'None': np.NaN})
3.2 SVD did not converge
报错:numpy.linalg.linalg.LinAlgError: SVD did not converge
解决:可能存在空值导致,dropna()后正常运行
4 数据处理问题
4.1 数据框每行转为一个元组
解决:zip函数
4.2 pandas
解决:df[func1 & fun2] 需要给function1,2加上括号
4.3 使用pivot_table或者groupby函数为的结果显示问题
解决:可使用pandas再次转为数据框处理
4.4 空值(NaN)处理
#选择任意一行出现空值的数据df[df.T.isnull().any()]
#选择任意一行出现空值的数据df[df.isnull().values]
#选择任意一行都没出现空的数据df[~df.T.isnull().any()]
5. Oracle数据处理
5.1 时间函数
5.1.1.1 返回星期几
一般从周日算第一天,使用to_char(日期,'d')返回第几天,周末为1和7
5.1.1.2 返回每月第几天
没找到固定函数,直接将进行了截取,反倒简单方便
substr(TO_CHAR(date,'yyyymmdd'),7,2)
5.1.2 返回小时、天等数值
extract(day from sysdate)
5.1.3 剔除一段时间内不需要的时间点
date not in (TO_DATE('20180416','YYYYMMDD'),TO_DATE('20180421','YYYYMMDD '))