Jupyter
快捷键:
批量注释
-
在Jupyter Notebook中批量注释多行,在前面加上
#
- 全选
ctrl
+/
-
删除以上注释:
- 同上
缩进
- 缩进
ctrl
+]
- 解除 缩进
ctrl
+[
排序
- 比如现在有两个序列
serial
和tstamp
是一一对应的,我们的目的是对两者根据其中一个序列进行排序 - 例如根据对时间戳
tstamp
按照时间序列serial
的大小进行排序:
r_serial = sorted(serial) # from the minimun to maximun
r_tstamp = [x for _, x in sorted(zip(serial,tstamp), key=lambda pair: pair[0])]
这个例子的目的是活用lambda
查找
- 比如在一个序列中我们需要查找一个数或者字符的位置
- 有两种方法:
- 第一种就是采用
index
- 仅仅针对
list
的sequence
>>> a = [1,2,3,4,5,6,7]
>>> a.index(3)
2
- 第二种就是我早年不懂事,走了很多弯路,采用的是
>>> import numpy as np
>>> a = np.array([1,2,3,4,5,6,7])
>>> np.argmin(abs(a - 3))
2
>>> np.where(a==3)
(array([2]),)
>>> a = np.array([[1,2,3,4,5,6,7],[7,6,5,4,3,2,1]])
>>> np.where(a==3)
(array([0, 1]), array([2, 4]))
统计个数
主要有四种方法:根据come&整理的结果:
- 利用字典dict来完成统计
a = [1, 2, 3, 1, 1, 2]
dict = {}
for key in a:
dict[key] = dict.get(key, 0) + 1
print dict
输出结果:
>>>{1: 3, 2: 2, 3: 1}
- 利用Python的collection包下Counter的类
from collections import Counter
a = [1, 2, 3, 1, 1, 2]
result = Counter(a)
print result
输出结果:
>>>{1: 3, 2: 2, 3: 1}
- Python的pandas包下的value_counts方法
import pandas as pd
a = [1, 2, 3, 1, 1, 2]
result = pd.value_counts(a)
print result
输出结果:
>>>1 3
2 2
3 1
注:利用pandas下的value_counts(),不仅可以统计list中各个元素出现的个数,还可对矩阵中的元素进行进行统计。
import pandas as pd
a = pd.DataFrame([[1,2,3],
[3,1,3],
[1,2,1]])
result = a.apply(pd.value_counts)
print result
输出结果:
$ 2.0 1.0 1.0 # 表示元素1在第一列出现2次,在第二列出现1次,在第三列出现1次
$ NaN 2.0 NaN # 表示元素2在第一列出现0次,在第二列出现2次,在第三列出现0次
$ 1.0 NaN 2.0 # 表示元素3在第一列出现1次,在第二列出现0次,在第三列出现2次
- 如果是列表
list
>>> a = [1,2,3,4,5,6,7]
>>> a.count(1)
1
# 仅仅针对列表
>>> import numpy as np
>>> a = np.array([1,2,3,4,5,6,7])
>>> a.count(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'numpy.ndarray' object has no attribute 'count'
查看数据类型
有时候在编程的过程中会因为一些小错误花费大量时间,尤其是一些函数支持int
,float
,double
,因此需要判断计算后会输出特定的类型
type(var).__name__
保存图片超过固定边界时:
extent = ax4.get_window_extent().transformed(fig.dpi_scale_trans.inverted())
fig.savefig(path_data +'/' + title +'.pdf',fomat='pdf',bbox_inches=extent.expanded(2.2, 1.4))
YOU CAN CHANGE THE FORMAT pdf
TO png
et al.
数据内部同样的数字个数:
sorted(X, key=X.__getitem__,reverse=True)
LOGIN WITHOUT INTERP
ssh -o ServerAliveInterval=30 username@you.server.ip.address -L127.0.0.1:pre-setting-port:127.0.0.1:8889
INSTALL STEAM ON FEDORA
sudo dnf install fedora-workstation-repositories
sudo dnf install -y steam --enablerepo=rpmfusion-nonfree-steam
INSTALL cdo
IN MAC
sudo port install cdo
reference:cdo