原创 pandas讀取各種類型的json文本文件

pandas用read_json讀取json文件 pandas.read_json語法如下 pandas.read_json(path_or_buf=None, orient=None, typ='frame', dtype=Tr

原创 pandas實現sum()over()、count()over()等窗口函數

pandas利用transform實現窗口函數 array = [ ['a', 2, 29], ['a', 1, 18], ['a', 0, 18], ['b', 2, 25], ['b'

原创 spark動態更新hive表的分區數據

使用spark操作hive的時候,當需要對hive的分區表進行動態更新分區內容時,可在SparkSession中進行如下設置 SparkSession.builder() .master("yarn")

原创 idea中spark的pom.xml配置

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:

原创 對datafrmae某一列進行分詞,並對分詞後的所有字符串進行統計

import pandas as pd import jieba def cut_word(word): cw = jieba.cut(word) return list(cw) df['cut_word'] = d

原创 pandas將長度不同的list或Series合併成一個dataframe

不同長度的Series和DataFrame合併 # s1爲一個DataFrame,s2爲一個Series def expand_columns(s1, s2): s1.np.array(s1).tolist() data =

原创 pandas實現分組去重計數功能

用pd.Series.nunique在pandas中實現分組計數功能 grouped = data.groupby(["col1", "col2"]) grouped.agg({"col3": "count", "col4": p

原创 spark實現用窗口函數進行去重計數的功能

//collect_set去除重複元素;collect_list不去除重複元素 df.withColumn( "new_col_name", size(collect_set($"need_count_col_name

原创 使用spark對dataframe的某一列調用HTTP請求並返回數據給dataframe

代碼 package cn.spark.sql import org.apache.http.client.methods.HttpGet import org.apache.http.impl.client.DefaultHt

原创 spark修改日誌級別

通過SparkSession進行設置 val spark = SparkSession .builder() .appName("AWSMMonitorInfo") .enableHiveSup

原创 pandas實現對dataframe抽樣

隨機抽樣 import pandas as pd #對dataframe隨機抽取2000個樣本 pd.sample(df, n=2000) 分層抽樣 利用sklean中的函數靈活進行抽樣 from sklearn.model_s

原创 Spark的DataFrame中用explode將array數組轉換成多行

//service_prod_code字段類型爲array val df_info = spark.sql( """ select product, service_prod_code

原创 pandas實現hive的lag和lead函數

lag 該函數的格式如下: lag(字段名,N) over(partition by 分組字段 order by 排序字段 排序方式) lag括號裏理由兩個參數,第一個是字段名,第二個是數量N,這裏的意思是,取分組排序後比該條記錄

原创 pandas實現分組排序

import pandas as pd df = pd.DataFrame([['A',1,'2019-03-01 00:00:30'], ['A',3,'2019-04-01 00:00:30'

原创 pandas中利用groupby分組導入數據到excel中

import pandas as pd df = pd.read_table(read_file, header=0, dtype=str, sep='\t') res_file = fileDir + r'\filename.xls