質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

最適化

最適化とはメソッドやデザインの最適な処理方法を選択することです。パフォーマンスの向上を目指す為に行われます。プログラミングにおける最適化は、アルゴリズムのスピードアップや、要求されるリソースを減らすことなどを指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

2回答

971閲覧

Python Pandas 辞書表記

OGlp5b5kJbOKRyk

総合スコア3

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

最適化

最適化とはメソッドやデザインの最適な処理方法を選択することです。パフォーマンスの向上を目指す為に行われます。プログラミングにおける最適化は、アルゴリズムのスピードアップや、要求されるリソースを減らすことなどを指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2021/09/11 16:18

編集2021/09/12 00:46
P,p=multidict({1:5,2:4,3:7,4:3})

上のようなP,pの辞書を引数として入力すると、第1の返値としてキーのリスト,第2の返値として辞書を返すデータ形式にpython 3.9でcsvファイルを取り込んでpandasを用いて変更したいのですがやり方がわかりません。
理由としては、最適化の際に、多くのサンプルデータを実行しなければならないため、必要なためです。
求められる結果

print(P)
[1,2,3,4,5]
print(p)
{1:1,2:1,3:2,4:2,5:2}

csvファイルには、excelで作成した。

1,2,3,4,5, 1,1,2,2,2,

1列目がPのリスト
2列目がpの辞書です
の行列が入っています。

前回の質問を参考にいろいろ文法を変えて試してみたのですがわかりませんでした。 
具体的な方法として、for文を用いて

import pandas as pd import numpy as np p_data=pd.read_csv('p.csv') pf = p_data.dropna(how='all', axis=1) pdic = {(i+1,j+1):d for i in range(len(pf)) for j} print(pdic)

上のような形式で変更したいですのですが、pとPの回帰文の作成の仕方がわからず困っています
回答お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2021/09/12 00:12

全体的に何をしたい、何が分からないのかがよく分かりません。 CSVを読み込んで、変数P,pに質問で提示された結果を格納したいということでしょうか?
can110

2021/09/12 00:56

まずはCSVを読み込んで[1,2,3,4,5]と[1,1,2,2,2]という二つのリストに格納することはご自身でできますか?
OGlp5b5kJbOKRyk

2021/09/12 16:48

無事出来ました。ありがとうございます。
guest

回答2

0

ベストアンサー

P を ndarray で取得したいか list で取得したいかが不明ですね。

Python

1import pandas as pd 2import numpy as np 3 4dat = pd.read_csv('p.csv', header=None) 5df = dat.dropna(how='all', axis=1) 6P = df[:1].values[0] 7p = dict(zip(df[:1].values[0], df[1:2].values[0])) 8 9print(P) # [1, 2, 3, 4, 5] 10print(p) # {1: 1, 2: 1, 3: 2, 4: 2, 5: 2}

list で取得したい場合は

Python

1P = list(df[:1].values[0])

投稿2021/09/12 02:13

lehshell

総合スコア1156

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

OGlp5b5kJbOKRyk

2021/09/12 16:48

わかりやすい説明ありがとうございます。 無事できました。
guest

0

以下でできます。CSV読込~リストの作成までは基礎的な部分なのでご自身で実装ください。

Python

1# キーと値のリスト 2keys = [1,2,3,4,5] 3vals = [1,1,2,2,2] 4 5P = keys 6p = {k:v for k,v in zip(keys,vals)} 7 8print(P) #[1, 2, 3, 4, 5] 9print(p) #{1: 1, 2: 1, 3: 2, 4: 2, 5: 2}

投稿2021/09/12 01:03

can110

総合スコア38341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問