Python
filter 过滤参数
list(filter(lambda s: not s.startswith("_"), list0)) # 对 list 进行过滤,返回符合条件的 结果列表
#使用 regex 查找并返回有 orders 的 列表item ,返回只有 orders 的列表
#1
regex = re.compile(r'orders.')
ll = list(filter(regex.search, list0))
#2
ll = list(filter(lambda x:re.findall('orders',x), list0))
数值替换
# 在数据处理过程中用到了除法,并且出现了除数为0,导致出现inf,而数据库不支持写入该值
df_d = df_d.replace([np.inf, -np.inf], 1) # 第一次出现 - 1
df_d = df_d.replace([np.inf, -np.inf], np.nan) # 空值 ,上述代码将处理结果中的正无穷和负无穷都替换为空值,最后写入到数据为中的为null值
df_d.fillna(0) # 替换 NaN 为 0
读文件
df = pd.read_csv('D:/Temp/XYZ.csv')
写文件
df_r.to_csv() #写入CSV
插入
DataFrame.insert(loc, column, value, allow_duplicates=False) # 插入一列
jobs = ['student','AI','teacher']
df['job'] = jobs #默认在df最后一列加上column名称为job,值为jobs的数据
数据类型
print(dataframe.dtypes) #查看column 的数据类型
df["A"]=df["A"].astype("int") # 进行数据表格的数据类型转换需要用到数据类型转换函数df["列名称"].astype("类型名称”)
df_pe['A'] = df_pe['A'].apply(lambda x:x.replace(',','')).astype(float) # 转换有逗号,的数值为 float
df = df.rename( columns={ 'A':'aa', 'C':'cc' }) # 对Column 重命名
dfr.columns=['A','B'] #rename the datafram column of every column, when we don't know exactly the column name
数据合并
df = pd.merge(df_search,df_pe, on=['col1','col2'], how='outer' , suffixes=('','')) # out join 数据左右连接,suffixes 为合并后的左表和右表的后缀
索引
df.reset_index(drop=False) # False - transform the Index to normal fields, True - Drop the Index
统计
df_f['sum'] = df_f.apply(lambda x: x.sum(), axis=1) # 对所有的agg以后的数值列求和,插入一列
df['sum'] =df['2020-03-30'].add(df['2020-03-31'], fill_value=0) #按列相加,NaN 的地方 用 0 填充