基础知识-开发常用语法函数

1. 常用语法

1.1 一列分解成多列

pd.str.split(',',expand=True);

pd.str.split(',',expand=True)[0];

1.2 替换某一列中的值

data['CarBrand'] = data['CarBrand'].replace({'Nissan': 'nissan', 'maxda': 'mazda'})
可以添加多个

1.3 删除某一列数据

data_train = data.drop(['car_ID', 'CarName'], axis=1)

data.pop('isDefault')  #将该列弹出,不在原始列中保留

1.4 将数值类型的某一列转为object列

data_train['symboling'] = data_train['symboling'].astype('object')

1.5 判断某一列是否为object

data_train[name].dtype == 'object'

1.6 某一类进行标签编码处理

data_train[name] = LabelEncoder().fit_transform(data_train[name])

1.7 将数据归一化处理

data_train = MinMaxScaler().fit_transform(data_train)
data_train = pd.DataFrame(data_train)

1.8 Kmeans聚类处理

kmeans = KMeans(n_clusters=6)
kmeans.fit(data_train)
car_class = kmeans.predict(data_train)  # 获取聚类预测结果

1.9 获取类别类型的列名称

data_object = train.apply(lambda x: x.dtype)#针对所有列返回列的类型 data_train= data_object object_data=[data_object == 'object'].index.tolist()
#lambda创建的函数是没有名称的(与def的区别)
例如:
#多个参数的:
g = lambda x, y, z : (x + y) ** z
print g(1,2,2)
为9

1.10 使用目标编码

te = TargetEncoder(cols=ojbect_tecols)  # 方法
data_train = te.fit_transform(train, target)  # 训练集
data_test = te.transform(test) #测试集
目标编码:是表示分类列的一种非常有效的方法,它只占用一个特征空间。也称为均值编码,将列中的每个值替换为该类别的均值目标值。这允许对分类变量和目标变量之间的关系进行更直接的表示

1.11 合并两列数据集(追加模式)

all_text = pd.concat([train_text, test_text])

1.12 TF-IDF参数说明

 

1.13 F1评价函数

score = f1_score(y_pred, y_valid_, average='macro')

1.14 分组合并数据集

df_order = df_order.groupby(['客户ID', '订单日期'])['产品名称'].unique()  
 

 

1.15 Apriori参数说明

apriori参数:

min_support -- 最小支持度,可用来筛选项集 0.02

min_confidence -- 最小可信度,可用来筛选项集 0.35

min_lift -- 最小提升度

max_length -- 序列最小长度

 输出结构为:

1.16 类型选择

numerical_cols = Train_data.select_dtypes(exclude='object').columns

1.17 获取并且判断方法

feature_cols = [col for col in feature_cols if 'Type' not in col]

1.18 StratifiedKFold和KFold的区别

KFold参数:
n_splits 表示划分为几块(至少是2)
shuffle 表示是否打乱划分,默认False,即不打乱
random_state 表示是否固定随机起点,Used when shuffle == True.
StratifiedKFold参数:

1.19 模型的加权融合

sub_Weighted = (1 - MAE_lgb / (MAE_xgb + MAE_lgb)) * subA_lgb + (1 - MAE_xgb / (MAE_xgb + MAE_lgb)) * subA_xgb  # 测试集

MAE_lgb:lgb均方绝对误差

MAE_xgb:xgb均方绝对误差

subA_lgb:测试集预测结果

1.20 提取某一列数据

data2 = data1.loc[:, ['content']]

1.21文本操作

# 生成txt文件(数据较大)
data3 = pd.read_csv('.\content.csv', encoding='utf-8')
with open('.\\content.txt', 'a+', encoding='utf-8') as f:
    for line in data3.values:
        f.write((str(line[0]) + '\t' + str(line[1]) + '\n'))
# 读取txt文件
fn = open('.\\content.txt', 'r', encoding='utf-8')
string_data = fn.read()

1.22 正则化删除指定字符

pattern = re.compile(u'\t|\n|\.|-|:|;|\)|\(|\?|"')
string_data = re.sub(pattern, '', string_data)

1.23 Jieba分词参数说明

1.24 python的zip用法

>>>a = [1,2,3]

>>> b = [4,5,6]

>>> c = [4,5,6,7,8]

>>> zipped = zip(a,b) #打包为元组的列表

 [(1, 4), (2, 5), (3, 6)]

1.25 pd根据某几列去重

all_click = all_click.drop_duplicates((['user_id', 'click_article_id', 'click_timestamp']))

1.26 for循环dist

for user, item_time_list in tqdm(user_item_time_dict.items()):

1.27 Python3加载数据并且保存

i2i_sim = pickle.load(open(save_path + 'itemcf_i2i_sim.pkl', 'rb'))

1.28 获取topN

topk_click = click_df['click_article_id'].value_counts().index[:k]

1.29 去重并且从小到大排序

a = np.unique(A)

对于一维数组或者列表,unique函数去除其中重复的元素,并按元素由大到小返回一个新的无元素重复的元组或者列表

1.30 enumerate函数的用法(自动补充下标)

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']

>>> list(enumerate(seasons))

[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

1.31

常用函数

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值