1. ホーム
  2. python

[解決済み] ValueError: インデックスが定義されておらず、Seriesに変換できない値を持つフレームを設定できません。

2022-02-17 11:30:50

質問事項

Python 3.X で Pandas 0.20.3 を使っています。Pandas データフレームに、別の Pandas データフレームから1列を追加したいのですが、どうすればいいですか?データフレームは両方とも51行を含んでいます。そこで、私は次のコードを使用しました。

class_df['phone']=group['phone'].values

以下のようなエラーメッセージが表示されました。

ValueError: Cannot set a frame with no defined index and a value that cannot be converted to a Series

class_df.dtypesが教えてくれる。

Group_ID         object
YEAR             object
Terget           object
phone            object
age              object

type(group['phone']) は以下を返します。 pandas.core.series.Series

このエラーを取り除くために必要な変更を教えてください。

group['phone']の最初の5行は以下の通りです。

0    [735015372, 72151508105, 7217511580, 721150431...
1                                                   []
2    [735152771, 7351515043, 7115380870, 7115427...
3    [7111332015, 73140214, 737443075, 7110815115...
4    [718218718, 718221342, 73551401, 71811507...
Name: phoen, dtype: object

解決方法は?

ボロボロのリストの列があります。唯一の選択肢は、リストのリストを割り当てることです。 配列 のリスト(これは .value を与える)。

class_df['phone'] = group['phone'].tolist()