忍者ブログ

【pyspark】カラム毎の最大文字数を調べる

2021年09月06日 22時26分31秒
カラム毎の最大文字数を調べるサンプル


from pyspark.sql.functions import *
d = [{'name': 'Tanaka', 'remark': '123'},{'name': 'Satou', 'remark': '12345'}]
df = spark.createDataFrame(d)
df = df.select(
    length('name'),
    length('remark')
).groupBy().agg(
    max('length(name)'),
    max('length(remark)')
)
df.show()
+---------------------+-----------------------+                                         
|max(length(name))|max(length(remark))|
+---------------------+-----------------------+
|                           6|                             5|
+---------------------+-----------------------+
PR

【pyspark】groupbyして、グループ毎にカンマ区切りで文字列結合

2021年09月05日 22時59分11秒
groupbyして、グループ毎にカンマ区切りで文字列結合するサンプル


from pyspark.sql.functions import *
d = [{'name': '田中', 'age': 1},{'name': '佐藤', 'age': 2},{'name': '鈴木', 'age': 1}]
df = spark.createDataFrame(d)
df.show()
+----+-----+
| age|name|
+----+-----+
|     1|  田中|
|     2|  佐藤|
|     1|  鈴木|
+----+-----+
df = df.groupBy('age').agg(concat_ws(',', collect_list('name')).alias('test'))
df.show()
+---+---------+
|age|       test|
+---+---------+
|   1|田中,鈴木|
|   2|       佐藤|
+---+---------+



宮田聡子が可愛い

2021年07月18日 22時18分26秒
ダイアン津田のゲーム配信を見ていると、極稀に一緒にプレイする宮田聡子さん。
モデルさんらしいですが、全く知りませんでした。
ググってみると、モデルとしての画像が沢山出てきますが、
正直、個人的には可愛いとは思えなかった。
が、声が可愛い。
なので、宮田聡子さん本人のチャンネルでゲーム配信を視聴。
顔出しで配信していますが、
この配信中は画像検索で見つかるバッチリメイクではなくナチュラルメイクで配信。
このナチュラルメイクが凄く可愛い。
それに合わせて声も可愛いから、すっかり宮田聡子さんのゲーム配信にハマってしまった。



P緋弾のアリア~緋弾覚醒編~ 一撃40連3万発オーバー

2021年07月04日 17時18分01秒
P緋弾のアリア~緋弾覚醒編~は
・連チャンしない
・3Rばかりで玉増えない
・出玉速度が異常に遅い
ってイメージでしたが、原作が好きなので惰性で打っていたら、ついに事故らせることに成功。

一撃で40連、34757発。


V Attack STOCK TIMEは何度か行ったが、VAST中は全然連チャンせず、
アサルトクエストが連チャンしまくってくれた。


PythonでOutlookの複数のmsgファイルから添付ファイルを取得

2021年05月22日 19時18分00秒
Outlookで受信したメールをローカルの特定フォルダにコピペ。
コピペした複数のメール(.msg)から、添付ファイルを取り出したい。
検索してもVBAでのサンプルコードがあるくらいで、フリーのツールなどが見つからない。
仕方ないので自前でPythonで作成。

import os
import win32com.client

MSG_PATH = r"C:\msgファイルを置いてるフォルダ"
files = os.listdir(MSG_PATH)
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
for file in files:
    file_path = MSG_PATH + '/' + file
    msg = outlook.OpenSharedItem(file_path)
    for attachment in msg.Attachments:
        attachment.SaveAsFile("C:添付ファイル保存先フォルダ/" + attachment.FileName)