【Python】数据处理分析,一些问题记录
阅读原文时间:2023年07月08日阅读:2

不用造轮子是真的好用啊

  1. python中单引号双引号的区别

    和cpp不一样,cpp单引号表示字符,双引号表示字符串,'c'就直接是ascii值了

    Python中单引号和双引号都可以用来表示一个字符串

    单双引号是用于区分在引号中还要用引号的情况

    参考:Python中单引号,双引号,3个单引号及3个双引号的区别 https://blog.csdn.net/woainishifu/article/details/76105667

  2. 运算符* 和 **

    参考:https://blog.csdn.net/yilovexing/article/details/80577510

    https://blog.csdn.net/liuyhoo/article/details/80778296

  3. Pandas对象的drop

    https://blog.csdn.net/lhy2239705435/article/details/90052681

    删除行和列

    (1)drop() 删除行和列

    drop([ ],axis=0,inplace=True)

    drop([]),默认情况下删除某一行;

    如果要删除某列,需要axis=1;

    参数inplace 默认情况下为False,表示保持原来的数据不变,True 则表示在原来的数据上改变。

  4. DataFrame格式

    Pandas:DataFrame对象的基础操作 https://blog.csdn.net/u014281392/article/details/75331570

    pandas 入门:DataFrame的创建,读写,插入和删除 https://blog.csdn.net/xtfge0915/article/details/52938740

  5. MySQL导入导出CSV文件

    预处理用MySQL做会比较方便

    https://blog.csdn.net/kikajack/article/details/80529640

  6. sklearn中的random_state

    https://www.cnblogs.com/simpleDi/p/9986198.html

    sklearn安装的时候记得选scikit,直接搜索sklearn是没有的!

    random_state:随机种子

    random_state是一个随机种子,是在任意带有随机性的类或函数里作为参数来控制随机模式。当random_state取某一个值时,也就确定了一种规则。

    random_state可以用于很多函数,我比较熟悉的是用于以下三个地方:1、训练集测试集的划分 2、构建决策树 3、构建随机森林

    1、划分训练集和测试集的类train_test_split

      随机数种子控制每次划分训练集和测试集的模式,其取值不变时划分得到的结果一模一样,其值改变时,划分得到的结果不同。若不设置此参数,则函数会自动选择一种随机模式,得到的结果也就不同。

    2、构建决策树的函数

    clf = tree.DecisionTreeClassifier(criterion="entropy",random_state=30,splitter="random")

      其取值不变时,用相同的训练集建树得到的结果一模一样,对测试集的预测结果也是一样的;

      其值改变时,得到的结果不同;

      若不设置此参数,则函数会自动选择一种随机模式,每次得到的结果也就不同。

    3、构建随机森林

    clf = RandomForestClassifier(random_state=0)

      其取值不变时,用相同的训练集建森林得到的结果一模一样,对测试集的预测结果也是一样的;

      其值改变时,建森林得到的结果不同;

      若不设置此参数,则函数会自动选择一种随机模式,每次得到的结果也就不同。

    总结:在需要设置random_state的地方给其赋一个值,当多次运行此段代码能够得到完全一样的结果,别人运行此代码也可以复现你的过程。若不设置此参数则会随机选择一个种子,执行结果也会因此而不同了。虽然可以对random_state进行调参,但是调参后在训练集上表现好的模型未必在陌生训练集上表现好,所以一般会随便选取一个random_state的值作为参数。

  7. sklearn的train_test_split

    X_train,X_test, y_train, y_test =cross_validation.train_test_split(train_data,train_target,test_size=0.3, random_state=0)