我的问题是我有 2 个应该相同的值,但是它们有这个奇怪的差异,我不知道它来自哪里。上下文是我使用 pd.read_csv 导入了 3 个文件。我使用 groupby 对值进行分组,使用一些日期字段,并使用 nunique 聚合有问题的变量,只是为了记录计数。然后,它使用 Tableau 实际上计算了不同数量的唯一记录。我发现熊猫说的一对记录不同,而 Tableau 认为是平等的。看一看:df A0 1000003061 100000306x1 = df.iloc[0,0]str(x1.values)"['100000306']"x2 = df.iloc[1,0]str(x2.values)'[100000306]'为什么会发生这种情况,我该怎么做才能让大熊猫知道它们的值相同?
2 回答
偶然的你
TA贡献1841条经验 获得超3个赞
我不确定您对数据做了哪些其他处理步骤,但似乎存储在 [0,0] 中的值是 string'100000306'
而不是 integer 100000306
。您可以做的是使用pandas.to_numeric()以便在可能的情况下将列中的值转换为浮点值
df['A'] = pd.to_numeric(df['A'])
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
一列中有不同的类型
df.applymap(type)
A
0 <class 'str'>
1 <class 'int'>
请注意,当您打印 df.A 时,它会显示对象
df.A
0 100000306
1 100000306
Name: A, dtype: object
添加回答
举报
0/150
提交
取消