ppandasでデータフレーム名称に繰り返し処理を用いたい
Python初心者です。
あるdataframeの特定列の値によってdataframeを分割したい。その際、dataframe名称を列の値によって名づけたい。
やりたいこと
下記のように10都府県の値が格納されたdataframe "df_location"があるとします。
print(df_location["地域名"].unique().tolist())
['Tokyo', 'Osaka', 'Kanagawa', 'Aichi', 'Hukuoka', 'Hiroshima', 'Miyagi', 'Kochi', 'Hyogo', 'Saitama']
それぞれの地域ごとにdataframeを分割して格納し、dataframeの名称をそれぞれの都府県名称をつけて、df_location_Tokyo, df_location_Osaka,・・・・・というように名付けていきたいです。
試したこと
for location in l_list: df_location_os.path.basename(location) = df_location[df_location["地域名"] == location] )
いろいろ調べてos.path.basenameとか、{}.format()を活用してみようかと試しましたが、うまくできず。。
名称をつけるところがうまくいきません。
どなたかよろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
pandas 0.23.0
Python 3.6.4 :: Anaconda custom (64-bit)
jupyter notebookを使用
#やりたいこと追記
A
index | date |
---|---|
0 | 1/1 |
1 | 1/1 |
3 | 1/2 |
B
date | location | tempA | tempB |
---|---|---|---|
1/1 | Tokyo | 23 | 30 |
1/1 | Osaka | 25 | 31 |
1/1 | Nagoya | 22 | 33 |
1/2 | Tokyo | 24 | 32 |
1/2 | Osaka | 26 | 33 |
1/2 | Nagoya | 23 | 29 |
AとBの表があって、dateをキーとして、Aの表にそれぞれの地点のtempA,tempB列をt追加したいので、locationの値によって、データフレームを分割し、1つ1つ表Aにマージしていけばできるかなと思いまして、上の質問をしました。
↓こんなイメージ
|index| date |tempA_Tokyo|tempB_Tokyo|tempA_Osaka|tempB_Osaka|tempA_Kanagawa|tempB_Kanagawa|
|:--|:-----------------|:-------------|:------|:------|
|0| 1/1 | 23 |30|25|31 |22|33|
|1| 1/1 | 23 |30|25|31 |22|29|
|2| 1/2 | 24|32|26|33 |23|29|
データフレーム名称に繰り返し処理を用いなくてもこの表が作れるのであれば嬉しいですが、
ディレクトリにある複数のCSVファイルを読み込む際に、データフレーム名をfor文の中で回せると便利なので、その解決法もかねて質問させていただきました。
回答1件
あなたの回答
tips
プレビュー