小编Tan*_*rza的帖子

ValueError:无法设置没有定义索引的帧和无法转换为Series的值

我在我的python 3.X中使用Pandas 0.20.3.我想在另一个pandas数据框的pandas数据框中添加一列.数据框都包含51行.所以我使用了以下代码:

class_df['phone']=group['phone'].values
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

ValueError: Cannot set a frame with no defined index and a value that cannot be converted to a Series
Run Code Online (Sandbox Code Playgroud)

class_df.dtypes给了我:

Group_ID         object
YEAR             object
Terget           object
phone            object
age              object
Run Code Online (Sandbox Code Playgroud)

type(group['phone'])返回pandas.core.series.Series

您能否建议我删除此错误需要做哪些更改?

组['电话']的前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
Run Code Online (Sandbox Code Playgroud)

python

21
推荐指数
4
解决办法
4万
查看次数

ValueError: 不能为指标列使用现有列的名称

我需要解决一个问题,我将有一个数据框,比如 df,名称和年龄,我需要在 for 循环中生成另一个带有名称和性别的数据框,我需要将 for 循环中生成的数据框与 df 合并在df中获取性别。所以我在解决我的问题之前尝试了下面的代码

import pandas as pd
d = {'Age': [45, 38], 'Name': ['John', 'Emily']}
df = pd.DataFrame(data=d)
d1={'Gender':['M'],'Name':['John']}
df1=pd.DataFrame(data=d1)

df3 = df.merge(df1, on=['Name'], how='left', indicator=True)
df3

d2={'Gender':['F'],'Name':['Emily']}
df4=pd.DataFrame(data=d2)
df5=df3.merge(df4, on=['Name'], how='left', indicator=True)
Run Code Online (Sandbox Code Playgroud)

运行最后一行时出现以下错误。

 "Cannot use name of an existing column for indicator column")

ValueError: Cannot use name of an existing column for indicator column
Run Code Online (Sandbox Code Playgroud)

你能建议我如何在 python 3.x 中解决这个问题吗?

python pandas

2
推荐指数
1
解决办法
6487
查看次数

标签 统计

python ×2

pandas ×1