我的问题是我有两个应该相同的值,但是它们有这个奇怪的区别,我不知道它来自哪里。
上下文是我使用pd.read_csv导入了3个文件。我使用groupby,一些日期字段将值分组,并使用nunique汇总了有问题的变量,以保持计数的记录。
然后,使用Tableau实际上计算了不同数量的唯一记录。我发现一对大熊猫说的记录是不同的,而Tableau认为是相等的。
看看:
df
A
0 100000306
1 100000306
x1 = df.iloc[0,0]
str(x1.values)
"['100000306']"
x2 = df.iloc[1,0]
str(x2.values)
'[100000306]'
为什么会这样?大熊猫知道它们具有相同的价值,该怎么办?
答案 0 :(得分:0)
欢迎使用Stackoverflow!
我不确定您对数据进行了哪些其他处理步骤,但是似乎存储在[0,0]中的值是字符串'100000306'
,而不是整数100000306
。您可以做的是使用pandas.to_numeric()以便将列中的值转换为可能的浮点值
df['A'] = pd.to_numeric(df['A'])
答案 1 :(得分:0)
您在一栏中有不同的类型
df.applymap(type)
A
0 <class 'str'>
1 <class 'int'>
打印df.A时注意,它将显示对象
df.A
0 100000306
1 100000306
Name: A, dtype: object