Python3関連のことを調べてみた2022年06月23日

Python3関連のことを調べてみた2022年06月23日
目次

カスタムモデルを sagemaker neo コンパイルしようとしてハマった

## 表題の通りコンパイルしようしてハマった以下エラー

“`py: error
ClientError: InputConfiguration: Unable to load provided Keras model. Error: Unknown layer: Functional For further troubleshooting common failures please visit: https://docs.aws.amazon.com/sagemaker/latest/dg/neo-troubleshooting-compilation.html
“`

– 原因は、カスタムモデルのネスト構造をフラット処理しようとした時に、tensorflow のバージョンを違うものにしていたので、エラーが出ていた。
バージョンを統一することで解決。

しかし、わかりづらいエラーの内容にハマった。面倒くさい。。。(笑)

元記事を表示

Pandas: データフレームについて–11: 重複データの処理

# 重複データの処理

列単位でユニークな値,行単位でユニークな行についての処理を行う。

“`python
import pandas as pd
df = pd.DataFrame({
‘a’: [4, 4, 1, 5, 1, 3, 4, 3, 5, 3, 3, 4, 3, 3, 5],
‘b’: [4, 1, 4, 3, 1, 2, 4, 4, 2, 1, 1, 1, 1, 3, 3]
})
df
“`

Pandas: データフレームについて–10: データの置換

# データの置換

欠損値 `NaN` の置換については, 「Pandas: データフレームについて–02: 欠損値の扱い」を参照のこと。

“`python
import pandas as pd
df = pd.DataFrame({
‘a’: [1, 2, 3, 4, 5],
‘b’: [1.2, 3.4, 5.6, 7.8, 9.0]
})
df
“`

天気予報データを解析してみよう 〜数値予報から時系列グラフを作る〜

この記事では、気象庁が配信する天気予報の基礎資料となる数値予報データを扱って、将来の気圧の時系列グラフを作成する方法を紹介します。

# はじめに
みなさんが見ている天気予報は、さまざまな機関(気象庁)や民間の気象会社がそれぞれ持つノウハウ等を注ぎ込んで将来の天気を予想した結果です。ただそのベースは共通していて、コンピュータが将来の地球表面のようすをシミュレーションによって予測しています。この手法は、機械で数値的に計算することから**数値予報**と呼ばれています。

日本では気象庁が数値予報の業務を行っていて、その予報結果は気象業務支援センターを通じて契約者向けに公開されています。公開されたファイルには、気温、湿度、気圧、風、日射量…といった値が一定間隔に置かれた緯度格子、経度格子ごとに収録されています。こういった、等間隔に区切った格子ごとに気象要素を収録したデータは**GPVデータ**(Grid Point Value Data)と呼ばれます。日本語にすると格子点値データなのでそのままですね。

GPVデータの形式は、世界気象機関(WMO)が定めた二進形式格子点資料気象通報式(第2版

Pandas: データフレームについて–09: データフレームを表示する

# データフレームの表示

“`python
import pandas as pd
import numpy as np

n = 65
np.random.seed(123)
df = pd.DataFrame({
‘a’: np.arange(n) + 100,
‘b’: np.random.rand(n),
‘c’: np.around(np.random.normal(50, 10, n)),
‘d’: np.random.choice([‘A’, ‘B’, ‘C’, ‘D’, ‘E’], n)
})
df
“`

Pandas: データフレームについて--07: パイプ

# パイプ

関数型言語では,データ処理のときに関数を入れ子にすることで中間結果(変数)を明示しないというやり方が,ある意味普通である。

## 1. 入れ子式に関数を呼ぶ場合

```python
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [1.2, 3.4, 5.6, 7.8, 9.0]
})
df

def func1(df):
return df.transform('sqrt')

def func2(df, power=2, constant=1):
return df.transform(lambda x: x**power + constant)
```

```python
print(func2(func1(df)))
```

a b
0 2.0 2.2
1 3.0 4.4
2 4.0 6.6
3 5.0 8.8
4 6.0 10.0

## 2. パ

言語処理100本ノック解いてみた(0~3)

# お腹すいた
今日からずっと書きます。フィードバックよろしく。
言語処理100本ノック : https://nlp100.github.io/ko/ch01.html
ど偉い俺様のギット:https://dongkeuny50.github.io/
初作成:2022/06/21
## 問1
```python
print("stressed"[::-1])
```
```python
desserts
```
説明するまでもない。
## 問2
```python
"".join(["schooled"[i* 2 + 1]for i in range(4)])
```
```python
cold
```
同じく。競プロやってたらすぐです。これも一文でできなかったら今すぐ競プロやれ。

## 問3
```python
"".join(["shoe"[_] + "cold"[_] for _ in range(4) ])
```
```python
schooled
```

## 問4
```python
print([len(_)for _ in "Now I need a drin

condaを叩いたら「AttributeError: module 'colorama' has no attribute 'init'」が出るようになり、なんとか解決できた話

# 0. 事の発端
それはPythonでのデータ分析を勉強中のことでした。
自然言語処理のお勉強で、形態素解析をするためにMeCabをjupyter noteboookで使いたい(ちなみにOSはWindows11)と思い、Anacondaにインストールする作業をしていました。
ところが、MeCabとMeCab-python3の両方をインストールしないといけないことが分かっておらず、コマンドプロンプトでMeCabのバージョンは出力できるのにいざpythonでimportするとエラーになったことで「あれれ~おかしいぞ~~??」とあれこれpathを変えてみたりAnacondaをupdateしてみたりしているうちに、コマンドプロンプトからもAnaconda Promptからも、condaコマンドを使おうとするととにかく「AttributeError: module 'colorama' has no attribute 'init'」とエラーが出るようになってしまいました。

ちなみに超蛇足ですが、この他「コマンドプロンプトからjupyter notebookが開けなくなった」「コマンドプロン

Pandas: データフレームについて--06: 統計量の計算

# 統計量の計算

```python
import numpy as np
import pandas as pd

df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [1.2, 3.4, 5.6, 7.8, np.nan]
})
df
```

<

ec2ssmが便利だと思う

## ec2ssmが便利だと思う
某所でやっつけでつくったec2のNameタグをタブ補完してssmログインするツールを引数にprofileを指定して汎用性をもたせました。
ssmの設定については、このあたりの記事を参照。

https://zenn.dev/t_morooka/articles/eb98e6a5c9a493

ec2ssmはこちら。
https://github.com/yuhiwa/ec2ssm

ssm自体の説明は他にまかせます。
ec2ssmは```ec2ssm Nameタグ```でec2にログインできるaws cli(aws ssm)のラッパーです。

### 使い方

#### 1. Nameタグをインスタンスに設定する
分かりやすい名前をインスタンスのNameタグに設定しましょう。

#### 2. ~/.aws/credentialsに記載する
```
# ~/.aws/credentials

[default]
aws_access_key_id=...
aws_secret_access_key=...

[myprofile]
aws_acces

Pandas: データフレームについて--05: データフレームの変容

# データフレームの変容

```python
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [1.2, 3.4, 5.6, 7.8, 9.0]
})
df
```

ABC256E問題をトポロジカルソートっぽく解いた話

### E問題をトポロジカルソートっぽく解いた話
公式解説のYoutube放送中にコメントで「トポロジカルソートで解いた」と書いたら[snuke](https://atcoder.jp/users/snuke)さんに「どうやって解くんだろ」と言われたので「あれ?あまり一般的な解法ではないのかな」と思ってここで共有させていただきます。Qiitaに解法記事を載せるのは初めてなので、図や文章が読みづらかったらゴメンナサイ。
### 問題を見たときまず考えたこと
[ABC256E](https://atcoder.jp/contests/abc256/tasks/abc256_e)これ見た瞬間に、まず真っ先に頭に浮かんできたのは[ABC223D](https://atcoder.jp/contests/abc223/tasks/abc223_d)だったんですよね。こういう「AさんはBさんより先に」みたいな問題構造はA→Bの有向グラフだと捉えると上手くいくケースが多いです。

実際に今回の問題の入力例2を元にすると、こんな感じの有向グラフが出来上がります。
![スクリーンショット 2022-06

a