[解決済み] データフレームにリストからカラムを追加する
2022-06-10 19:24:13
質問
このような列を持つデータフレームがあります。
A B C
0
4
5
6
7
7
6
5
は A の値の範囲は 0 から 7 までしかありません。 .
また、このような8つの要素のリストがあります。
List=[2,5,6,8,12,16,26,32] //There are only 8 elements in this list
A列の要素が n を挿入する必要があります。 n の要素を新しい列に挿入する必要があります。
データフレーム全体をループすることなく、一度にこれを行うにはどうしたらよいでしょうか。
出来上がったデータフレームはこのような感じになります。
A B C D
0 2
4 12
5 16
6 26
7 32
7 32
6 26
5 16
注:データフレームは巨大なので、イテレーションは最後の選択肢のオプションです。しかし、必要ならdictのような他のデータ構造で'List'の要素を並べることもできるんだ。
どのように解決するのですか?
IIUCでは、(残念な名前ですが)自分の作った
List
を
ndarray
に変換すれば、自然にインデックスが作成されます。
>>> import numpy as np
>>> m = np.arange(16)*10
>>> m[df.A]
array([ 0, 40, 50, 60, 150, 150, 140, 130])
>>> df["D"] = m[df.A]
>>> df
A B C D
0 0 NaN NaN 0
1 4 NaN NaN 40
2 5 NaN NaN 50
3 6 NaN NaN 60
4 15 NaN NaN 150
5 15 NaN NaN 150
6 14 NaN NaN 140
7 13 NaN NaN 130
ここでは、新しい
m
を使っていますが、もし
m = np.asarray(List)
を使えば、同じことができるはずです。
df.A
の適切な要素を選び出す。
m
.
もし、古いバージョンの
numpy
を使っている場合は
m[df.A.values]
の代わりに--過去には
numpy
は他の人とうまく機能せず、いくつかのリファクタリングで
pandas
のリファクタリングが頭痛の種でした。 現在では状況は改善されています。
関連
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] Pandas DataFrameの特定の列の値がNaNである行を削除する方法
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] pandas dataframe のカラムまたは行からリストを取得しますか?
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
-
[解決済み】pandasでカラムの種類を変更する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
Python入門 openを使ったファイルの読み書きの方法
-
Pythonショートビデオクローラーチュートリアル
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】PandasでSettingWithCopyWarningに対処する方法