在做实验的过程中搜了不知道多少次numpy和pandas的一些操作,总是忘记。现在记录下来。

pandas: csv->df,df->csv

pd.read_csv('./name.csv')
df.to_csv('./name.csv',header = None, index = None)

numpy: array->csv

numpy.savetxt('./name.csv',a = numpy.asarray([[1,2,3],[4,5,6]]),delimiter = ',')

pandas: string to datetime

from datetime import datetime
datetime_str = '09/19/22 13:55:26'
datetime_object = datetime.strptime(datetime_str, '%m/%d/%y %H:%M:%S')

pandas:隔行相减

df['xx_1'] = df['xx'].shift(1)
df['xx']-df['xx_1']

pandas: groupby 相关

sort_values(['col_name'],ascending = False)
reset_index(drop = True)
set_index()

pandas:选择某一列非NAN的行

selected_rows = df[~df['col_name'].isnull()]

pandas:表join

默认的join是根据index,如果不想根据index就要设定key
#不保留index
df.set_index('key').join(other.set_index('key'))
#保留index
df.join(other.set_index('key'), on='key')

pandas:绘制概率直方图

df.hist()

pandas: 更改column name

df.set_axis(['col_name1','col_name2','col_name3'], axis = 1)