20211115-20211119学习笔记


- python版本,安装包以及版本信息

import sys
import matplotlib as mpl
import numpy as np
import tensorflow as tf

print("python", sys.version) # python版本
for module in mpl, np:
    print(module.__name__, module.__version__)

# 限制版本
assert sys.version_info >= (3, 5)
assert tf.__version__ >= "2.0"

- os.environ[‘TF_CPP_MIN_LOG_LEVEL’] 的值的含义

转自:https://blog.csdn.net/c20081052/article/details/90230943
源码:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/platform/default/logging.h

namespace tensorflow {
const int INFO = 0;            // base_logging::INFO;
const int WARNING = 1;         // base_logging::WARNING;
const int ERROR = 2;           // base_logging::ERROR;
const int FATAL = 3;           // base_logging::FATAL;
const int NUM_SEVERITIES = 4;  // base_logging::NUM_SEVERITIES;

log等级优先级:
FATAL > ERROR > WARNING > INFO
会打印大于等于os.environ[‘TF_CPP_MIN_LOG_LEVEL’]所设置的值的日志

- python文件开头

#!/usr/bin/env python
# -*- coding:utf-8 -*-

或者

#!/usr/bin/python
# -*- coding:utf-8 -*-
  1. #!/usr/bin/python和#!/usr/bin/env python
    Linux系统下:
    Linux系统,根据文件开头(首行)的标记来判断文件类型,通过文件所指定的程序来运行。

     #!/usr/bin/python是告诉操作系统调用/usr/bin下的python解释器来执行这个脚本。例如,我们编写了hello.py脚本,执行时需要输入命令:python hello.py。因为有了这行声明,就可以直接用./hellp.py 来执行了,在这之前需要给脚本设置可执行权限chmod +x hello.py。
    
     #!/usr/bin/env python是为了防止没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作,推荐这种写法。
     Windows系统下:
     Windows系统用文件名的后缀(扩展名)来判断文件类型,只要是.py后缀的就关联到python程序去执行。因此,#!/usr/bin/python或#!/usr/bin/env python在Window系统下相当于普通的注释,并没有意义。
    
  2. -*- coding:utf-8 -*-
    2.x版本的py文件一般默认的是ASCII码,如果文件里有中文,运行时会出现乱码,注释是中文也不行。因此,需要把文件编码类型改为utf-8的类型,输入# -- coding:utf-8 --之后会把文件编码强制转换为utf-8。
    3.x版本的py文件的默认编码为Unicode,也就是说不用进行编码声明,可以直接使用中文了。

原文链接:https://blog.csdn.net/qq_36512295/article/details/89057856

-tf.convert_to_tensor()

用于将不同数据变成张量:比如可以让数组变成张量、也可以让列表变成张量。

# x: [60k, 28, 28],
# y: [60k]
(x, y), _ = datasets.mnist.load_data()
# x: [0~255] => [0~1.]
x = tf.convert_to_tensor(x, dtype=tf.float32) / 255.
y = tf.convert_to_tensor(y, dtype=tf.int32)

- Hive 解析json(get_json_object)

https://blog.csdn.net/qq_34105362/article/details/80454697
get_json_object(string json_string, string path)

说明:
第一个参数填写json对象变量,第二个参数使用$表示json变量标识,然后用 . 或 [] 读取对象或数组;如果输入的json字符串无效,那么返回NULL。
每次只能返回一个数据项。

举例:
data 为 test表中的字段,数据结构如下:

data =
{
 "store":
        {
         "fruit":[{"weight":8,"type":"apple"}, {"weight":9,"type":"pear"}],  
         "bicycle":{"price":19.95,"color":"red"}
         }, 
 "email":"amy@only_for_json_udf_test.net", 
 "owner":"amy" 
}

1.get单层值

hive> select  get_json_object(data, '$.owner') from test;
结果:amy

2.get多层值.

hive> select  get_json_object(data, '$.store.bicycle.price') from test;
结果:19.95

3.get数组值[]

hive> select  get_json_object(data, '$.store.fruit[0]') from test;
结果:{"weight":8,"type":"apple"}

遇到json数组可以用explode() 解析为多个item

- Spark UDF使用详解及代码示例

https://blog.csdn.net/Islotus/article/details/80993387

- json4s使用示例

- Spark获取DataFrame中列的几种姿势–col,$,column,apply

https://www.cnblogs.com/itboys/p/10962665.html

-Spark Dataframe explode()用法

- Spark DataFrame join()用法

- Spark Dataframe groupby取topk

https://stackoverflow.com/questions/33655467/get-topn-of-all-groups-after-group-by-using-spark-dataframe

- Spark Dataframe cast column type

- Spark Dataframe save

https://sparkbyexamples.com/spark/spark-write-dataframe-single-csv-file/

- python dataframe map, applymap方法

https://zhuanlan.zhihu.com/p/100064394

- python dataframe read/write

delimiter
header
index
to_excel(engine=‘xlsxwriter’)

- excel批量替换空值

https://blog.csdn.net/NextAction/article/details/78441451

- spark dataframe window

https://stackoverflow.com/questions/38687212/spark-dataframe-drop-duplicates-and-keep-first

val timeWindow = Window.partitionBy(col("col1"), col("col2")).orderBy(desc("ftime"))
    df = df.withColumn("latest", rank.over(timeWindow))
      .where(col("latest") <= 1)
val window = Window.partitionBy(col("col1")).orderBy(desc("score"))
    df = df.withColumn("rank", row_number.over(window))

- pandas dataframe groupby用法示例

返回的是组别,以及对应组别下的Dataframe
for _, g in self.data.groupby([‘qu_query’]):

分组随机split
group_df_list = [g for _, g in df.groupby([‘qu_query’])]
random.shuffle(group_df_list)
train_data = pd.concat(group_df_list[:5074], axis=0, ignore_index=True)
test_data = pd.concat(group_df_list[5074:], axis=0, ignore_index=True)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值