web-dev-qa-db-ja.com

リストをPython Dataframeの列に変換する

次のようなデータフレームdfがあります。

CustomerId    Age
1              25
2              18
3              45
4              57
5              34

次のような「価格」というリストがあります。

Price = [123,345,1212,11,677]

そのリストをデータフレームに追加したいと思います。これが私のコードです:

df['Price'] = Price

機能しているようですが、データフレームを印刷すると、「価格」というフィールドに、名前、タイプなどのすべてのメタデータ情報と、価格の値が含まれています。

価格リストの値のみを含む「Price」という列を作成して、データフレームが次のようになるようにするにはどうすればよいですか。

CustomerId    Age   Price
1              25   123
2              18   345
3              45   1212
4              57   11
5              34   677
3

私の意見では、最もエレガントな解決策は assign を使用することです:

df.assign(Price=Price)
CustomerId    Age   Price
1              25   123
2              18   345
3              45   1212
4              57   11
5              34   677

データフレームを実際に返すことに注意してください。割り当ては、リスト価格(右価格)の内容で新しい列「価格」(左価格)を作成します

2
Quickbeam2k1

pandas seriesを列として追加できます。

import pandas as pd
df['Price'] = pd.Series(Price)
0
hamza tuna

私はpandas.read_clipboardを使用してあなたの例をコピーしてデータフレームに貼り付け、次のように列を追加しました:

import pandas as pd
df = pd.read_clipboard()
Price = [123,345,1212,11,677]
df.loc[:,'Price'] = Price
df

これを生成する:

CustomerId  Age Price
0   1   25  123
1   2   18  345
2   3   45  1212
3   4   57  11
4   5   34  677
0
Jorge
import pandas as pd
df['Price'] = pd.Series(Price)

これを使用すると、データフレームよりもシリーズの値が少ない場合はエラーが発生しません。そうでない場合は、リストの値が少なく、追加できないことを示すエラーが発生します。

0
akshit0106