[解決済み] Python pandasによるセルへのリストの挿入
質問
リスト'abc'とデータフレーム'df'を持っています。
abc = ['foo', 'bar']
df =
A B
0 12 NaN
1 23 NaN
セル1Bにリストを挿入したいので、このような結果にしたい。
A B
0 12 NaN
1 23 ['foo', 'bar']
どうすればいいんですか?
1) これを使うと
df.ix[1,'B'] = abc
以下のようなエラーメッセージが表示されます。
ValueError: Must have equal len keys and value when setting with an iterable
というのは、リスト(2つの要素を持つ)を行/列に挿入しようとするが、セルに挿入しようとしないからです。
2)私がこれを使用する場合。
df.ix[1,'B'] = [abc]
とすると、'abc' リストである1つの要素だけを持つリストが挿入されます (
[['foo', 'bar']]
).
3) これを使うと
df.ix[1,'B'] = ', '.join(abc)
という文字列を挿入します。
foo, bar
) を挿入しますが、リストではありません。
4) これを使うと
df.ix[1,'B'] = [', '.join(abc)]
と入力すると、リストが挿入されますが、要素は1つだけです (
['foo, bar']
) だけであり、私が欲しいのは二つではありません (
['foo', 'bar']
).
助けてくれてありがとうございます
編集
新しいデータフレームと古いリストです。
abc = ['foo', 'bar']
df2 =
A B C
0 12 NaN 'bla'
1 23 NaN 'bla bla'
別のデータフレームです。
df3 =
A B C D
0 12 NaN 'bla' ['item1', 'item2']
1 23 NaN 'bla bla' [11, 12, 13]
abc' のリストを
df2.loc[1,'B']
と
df3.loc[1,'B']
.
データフレームが整数値、NaN値、リスト値のみの列を持つ場合、セルへのリストの挿入は完璧に動作します。データフレームが文字列値および/またはNaN値および/またはリスト値のみを持つ列を持っている場合、セルへのリストの挿入は完全に動作します。しかし、データフレームが整数値と文字列値と他の列を持つ場合、私はこれを使用すると、エラーメッセージが表示されます。
df2.loc[1,'B'] = abc
または
df3.loc[1,'B'] = abc
.
別のデータフレームです。
df4 =
A B
0 'bla' NaN
1 'bla bla' NaN
これらの挿入は完全に動作します。
df.loc[1,'B'] = abc
または
df4.loc[1,'B'] = abc
.
どのように解決するのですか?
df3.set_value(1, 'B', abc)
はどのようなデータフレームでも動作します。B'列のデータ型に注意してください。例えば、リストは float カラムに挿入することはできませんが、その場合は
df['B'] = df['B'].astype(object)
が役に立ちます。
関連
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] Pandasのカラム名のリネーム
-
[解決済み】pandasでカラムの種類を変更する
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
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関数の高度な応用を解説
-
PythonはWordの読み書きの変更操作を実装している
-
python implement mysql add delete check change サンプルコード
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。