c#
1.参考:https://blog.csdn.net/knqiufan/article/details/77847143
list.Find()根据条件,返回元素,元素为值时,当没有找到时,返回0。
list.FindIndex()根据条件,返回元素索引,当没有找到时,返回-1
相近的还有,First(),参考:http://www.cnblogs.com/my-cat/p/7873749.html
python
1.参考:https://blog.csdn.net/wang_weina/article/details/53674133
列表的乘法和加法,是对列表的操作,而非数学算法
2.参考:https://blog.csdn.net/destiny_0/article/details/77679560
字典迭代:items()和iteritems(),iteritems()返回键值。
3.pct_change():Series也有这个函数,这个函数用来计算同colnums两个相邻的数字之间的变化率。
4.参考:https://blog.csdn.net/lujiandong1/article/details/52929090
pandas contact 之后,一定要记得用reset_index去处理index,不然容易出现莫名的逻辑错误
5.参考:https://www.jianshu.com/p/7764b6591cf5
read_csv():
parse_date:可以是布尔型、int、ints或列名组成的list、dict,默认为False。如果为True,解析index。如果为int或列名,尝试解析所指定的列。如果是一个多列组成list,尝试把这些列组合起来当做时间来解析。
分块读取:
(1)read_csv中有个参数chunksize,通过指定一个chunksize分块大小来读取文件,返回的是一个可迭代的对象TextFileReader
(2)指定iterator=True 也可以返回一个可迭代对象TextFileReader
6.参考:https://www.cnblogs.com/frydsh/archive/2012/07/10/2585370.html
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
一般认为这是一个unzip的过程,它的运行机制是这样的:
在运行zip(*xyz)之前,xyz的值是:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
那么,zip(*xyz) 等价于 zip((1, 4, 7), (2, 5, 8), (3, 6, 9))
所以,运行结果是:[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
注:在函数调用中使用*list/tuple的方式表示将list/tuple分开,作为位置参数传递给对应函数(前提是对应函数支持不定个数的位置参数)
7.参考:https://blog.csdn.net/yhs_cy/article/details/79438706
Python中的*使用
def test(a, b, c)
test(*args):* 的作用其实就是把序列 args 中的每个元素,当作位置参数传进去。比如上面这个代码,如果 args 等于 (1,2,3) ,那么这个代码就等价于 test(1, 2, 3) 。
test(**kwargs):** 的作用则是把字典 kwargs 变成关键字参数传递。比如上面这个代码,如果 kwargs 等于 {‘a’:1,’b’:2,’c’:3} ,那这个代码就等价于 test(a=1,b=2,c=3) 。