🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

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

Q&A

解決済

2回答

338閲覧

データフレーム2列をarray形式にした

退会済みユーザー

退会済みユーザー

総合スコア0

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

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

0グッド

0クリップ

投稿2019/12/06 15:55

編集2019/12/06 17:04

以下のデータフレームをarrayの形にしたいです。
ソートでID→rankの順で行い以下のarrayの要素でまとめたいです。
IDは同じ値ごと、rankは1~N、1~Nという区切りです。
どうすればよいかわからず止まってしまいました。
よろしくお願いします。

DFは以下

id rank todo 0 15 1 10 1 15 2 16 2 15 3 10 3 15 1 11 4 15 2 14 5 16 1 11 6 16 2 20 7 16 3 13 7 16 1 16

np.array([ [10,16,10], [11,14], [11,20,13] [16] ])

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

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

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

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

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

WathMorks

2019/12/06 16:05

質問の意味がわかりません。 np.arrayで4番目の[13,16]がペアになるのはなぜですか?
退会済みユーザー

退会済みユーザー

2019/12/06 17:04

こちら失礼しました。ご指摘通り、修正しました。有難うございます。
meg_

2019/12/06 23:30

DataFrameは既に並び替えられているのですね?
退会済みユーザー

退会済みユーザー

2019/12/07 00:16

はい
guest

回答2

0

申し訳ないです。勘違いしておりました。
通常通りのやり方で0をいれることできました。
失礼しました。

投稿2019/12/08 05:08

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

ベストアンサー

python

1def groupSequence(lst): 2 lst1=lst[0] 3 lst2=lst[1] 4 res = [[lst2[0]]] 5 6 for i in range(1, len(lst1)): 7 if lst1[i-1]+1 == lst1[i]: 8 res[-1].append(lst2[i]) 9 10 else: 11 res.append([lst2[i]]) 12 return res 13

python

1ID=[15,15,15,15,15,16,16,16,16] 2rank=[1,2,3,1,2,1,2,3,1] 3todo=[10,16,10,11,14,11,20,13,16] 4df=pd.DataFrame({'ID':ID,'rank':rank, 'todo':todo}) 5 6df.groupby('ID').agg(lambda x: list(x)).apply(groupSequence,axis=1).agg(sum)

投稿2019/12/07 00:05

WathMorks

総合スコア1582

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

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

退会済みユーザー

退会済みユーザー

2019/12/07 02:00

こちら大変助かりました。 丁寧に有難うございます。
退会済みユーザー

退会済みユーザー

2019/12/07 05:50

ちなみに、このarrayを最長の列の長さで統一するために、15列に足りない行には0を代入したいのですが可能でしょうか。 どうしても、データ型のせいか、うまく0もしくはnanにすることができません。よろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問