1,Pandas
pandas中最重要的概念就是dataframe, 可用于矩阵计算
--pd.read_csv() :CSV 文件读入DataFrame
----sep :分隔符
----ignore_index : 序列行
pd.concat([pd.read_csv(fn, sep='\u0001')for fn in latest_lst], ignore_index=True)
--dataframe.to_csv() : DataFrame 写入 CSV 文件
----csv_buffer
with BytesIO() as csv_buffer:
with gzip.GzipFile(mode='wb', fileobj=csv_buffer)as gz_file:
dataframe.to_csv(TextIOWrapper(gz_file, 'utf-8'), **kwargs)
data = csv_buffer.getvalue()
--dataframe.dropna(subset=['RoomType'], inplace=True) :丢弃空行,inplace,直接改变原dataframe
--bcom_data = bcom_data.query('RoomID != "0"'):筛选符合条件的行
--expe_data = expe_data[['EID', 'Site', 'RoomID', 'RoomType']]:获取原dataframe中特定列,双[ ]
--column_names_bcom = ['BookingID', 'Site', 'RoomID']
--bcom_data.columns = column_names_bcom :重命名列名
--bcom_data = pd.merge(bcom_data, bcom_smoking, how='left', left_on='BookingID', right_on='BookingID') :dataframe合并
--bcom_data['RoomSmoking'] = bcom_data['RoomSmoking'].apply(utils.transform) :对每column应用变换,支持lambda表达式
--my_data['CombinedView'] = my_data.apply(lambda row: ViewList(row['View'], row['ViewFromAmenities']), axis=1)
--del bcom_data : 清除变量
--bcom_data.copy() :复制一个
--关于axis=1和axis=0的问题,如下图:
2, Numpy科学计算库
numpy.genfromtxt() : 从文本文件加载数据,并按指定的方式处理缺少的值
--delimiter: 用于分隔值的字符串。可以是str, int, or sequence。默认为任何连续的空格
--numpy.array: 创建一个向量或矩阵(多维数组)
---np.array([[4, 3, 5], [1, 2, 1]])