Python

【PyCharm】Invalid Python SDK

先日、ubuntuを20.10から22.04.2にアップグレードした際に、Pycharmで開発中のプロジェクトで「Invalid Python SDK」のエラーがでて困った話。

何も考えずにホイホイとアップグレードして、痛い目に遭いました。

【Pandas】ある一定の期間のデータを取り出して、欠損する日付を埋めて、存在しないデータを0で埋める

先日、python の defaultdict を用いて辞書の重複した値のキーの数を取得しました。

【Python】辞書の重複した値のキーの数を取得する

今回は pandas、django-pandas で、データをDataFrame形式にし、重複するデータの数を出して、飛び飛びになっている時系列データの欠損を埋めてみました。

Python Pillow を使った画像の合成

Python Pillow を使った画像の合成

Python、Pillow を使って画像を合成してみました(画像はいらすとやさんから)。

まず、Pillow をインストールします。

pip install pillow

画像の読み込みから、リサイズ、貼り付けまで、以下のサイトを参考にしました。

「それ、pythonでできるよ」-画像の合成-

img

天使

background_img

背景

from PIL import Image, ImageDraw

def scale_to_width(img, width):  # アスペクト比を固定して、幅が指定した値になるようリサイズする関数。
    height = round(img.height * width / img.width)  #横幅からアスペクト比をもとに高さを計算
    return img.resize((width, height))  #リサイズし、return

img = Image.open("path/to/character_angel.png")

img.load()
image = Image.new("RGB", img.size, (255, 255, 255))
image.paste(img, mask=img.split()[3])
image.save("out_img.jpg","JPEG",quality=95)

out_img = Image.open("out_img.jpg")

background_img = Image.open("path/to/bg_heaven_tengoku.jpg")

img_resized = scale_to_width(out_img, 200)

mask = Image.new("L", img_resized.size, 0)  #img_resizedと同サイズでLモードの画像を生成
draw = ImageDraw.Draw(mask)  #maskの描画変数
draw.ellipse((0, 0, 200, 200), fill=255)  #円を描画(left,upper,right,lower)で示す長方形に内接する円になる
mask.save('mask_circle.jpeg', quality=95)

background_img.paste(img_resized, (150, 20), mask) # 合成。第二引数は、貼り付ける位置。
background_img.save("final.png")

# background_img.save("final.jpeg", quality=95 )

合成された画像がこちら。

【Django】AND 検索 OR 検索

検索機能に and 検索と or 検索の両方を付けて、ミュートした単語とリクエストユーザーをブロックしているユーザーのコンテンツを除外する機能を付けたくて、試行錯誤してみました。ついでに、複数のモデルでやってみました。