スポンサーリンク
Pandas 便利
便利なんですが。。 Pythonにはdictがあったり、JSONなど他の形式のファイルを読み込みたいこともあるんですが、ときどき、エラーでて時間食ったりするので。。その忘備録として。。
行と列が全部そろってないと駄目
import pandas as pd data = {'name': ['nick', 'david', 'joe', 'ross'], 'age': ['5', '10', '7', '6']}
こういう行・列がそろっているやつは、
new = pd.DataFrame.from_dict(data)
で、読み込めて
index | name | age |
---|---|---|
0 | nick | 5 |
1 | david | 10 |
2 | joe | 7 |
3 | ross | 6 |
と入りますが。。
data = {'name': ['nick', 'david', 'joe', 'ross'], 'age': ['5', '10', '7', '6'], 'point':['1','2']}
こういう行と列が揃ってない時は、
ValueError: arrays must all be same length
とか出てできません。
データを例えば、行数を揃えてあげる
data['point'].append("NaN") data['point'].append("NaN")
とか。。
JSONとかでも。。
pd.read_json()
でも、同様なので、行列あわせたり、入れ子のものは直接読み込めない。
pandas.read_json — pandas 1.1.3 documentation
半構造化JSONデータをフラットテーブルに正規化
pd.json_normalize() ー>単に入れ子の場合とかいろいろできる。
pandas.json_normalize — pandas 1.4.2 documentation
JSON文字列を辞書に変換
json.loads()
JSONファイルを辞書として読み込み
json.load()
等を駆使しないといけない
ここのノートが詳しいです。

PythonでJSONファイル・文字列の読み込み・書き込み | note.nkmk.me
Pythonの標準ライブラリのjsonモジュールを使うとJSON形式のファイルや文字列をパースして辞書dictなどのオブジェクトとして読み込める。また、JSONに相当するオブジェクトを整形してJSON形式のファイルや文字列として出力・保存することも可能。json --- JSON エンコーダおよびデコーダ — Pyth...
で。。なんでこんなの書いたかというと、WindyのAPIの戻り値がJSONなんだけど
辞書型Dictでしか読めなかったので、DataFrameに変換したからなのです(笑)
Windy APIのPoint forecastを使ってみたい方は、こちらから(笑)
lightningUAVs/windyapi_uchinada.ipynb at main · tom2rd/lightningUAVs
Lightning observation, UAV flight, Sensors, and so on - lightningUAVs/windyapi_uchinada.ipynb at main · tom2rd/lightningUAVs
コメントを残していただけるとありがたいです