python
unicode 删除特定字符的方法:
- 使用translate命令,要注意的是:与string的translate命令不同,unicode的命令必须使用一个table作为map。table是一个dict,key是ord(你想删除的字符),value是你想替换的字符
- 使用replace命令,unicodeA.replace('string you want to replace', 'string you want to use')
pandas
※ 有一个问题是dataFrame 允许多列使用同一个index,导致赋值时会出现问题,需要注意。
可以 使用df.apply()命令进行逐行的修改:
df: http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.apply.html
series: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.apply.html
※ 统计某一列各种数据出现的频数使用df.groupby(column_name).size()即可得到各个unique值对应的频数。
也可以使用 Series的 value_counts()函数进行统计。
※ 在更新到14.1时出现问题numpy.ufunction has the wrong size 问题的原因有人说是安装了多个numpy 版本,但是我这里的原因是numpy 的版本是1.7.1没有更新到最新版本,pandas的版本太高。使用pandas13.1解决问题。
※ pandas如何删除多列数据(delete columns in dateframe)df.drop 问题及解答见:
http://stackoverflow.com/questions/13411544/delete-column-from-pandas-dataframe
※ pandas可以使用数据库得到的数据建立一个DataFrame(答案来自https://groups.google.com/forum/#!topic/pystatsmodels/a_ITO0ZzeYc)
q = engine.execute(session.query(T).__str__())
d = q.fetchall()
h = q.keys()
dtf = DF.from_records(d,columns=h)
但是把修改怎么批量写回去还不知道
s =
1-2
2-3
可以分解成两列
1 2
2 3
使用函数
a = s.str.split('.')
a =[1, 2]
[2, 3]
b = a.str.get(-1)
b =
2
3
numpy
两种组合数组的方式:
hstack: 1, 2
vstack: 1,
2.
sqlalchemy:
查找一列中最大值
from sqlalchemy import func session.query(func.max(Table.column))
sql连接数据库时要使用charset=utf8进行配置才可以正常使用中文
engine = create_engine('mysql://user:password@127.0.0.1:3306/icttest?charset=utf8')
scikit-learn :
File "C:\Python27\lib\site-packages\sklearn\neighbors\base.py", line 586, in fit
return self._fit(X)
File "C:\Python27\lib\site-packages\sklearn\neighbors\base.py", line 126, in _fit
raise ValueError("data type not understood")
ValueError: data type not understood
错误原因:feature>samples, 有时,feature<sample也会出错,这是需要更大的sample。这可能与算法内部处理有关。