解决方案:删除打印语句仅显示一次数据。但是我不明白这背后的逻辑吗?
这似乎是一个非常简单的问题,但我在寻找解决方案或复制此问题的任何其他人时遇到了很多麻烦。
我只是试图使用熊猫从csv读取一些数据。 csv相当大,我认为是问题的原因,但是我手动创建了一个新的csv测试用例,它只是一个3x3网格:
A b c
1 2 3
4 5 6
这也导致了我以前从未见过的问题。本质上,当我与数据框进行交互时,它会被复制两次。
import json #(for later use)
import pandas as pd
import numpy as np
data = pd.read_csv("Workbook1.csv")
print (data)
输出:
A b c
0 1 2 3
1 4 5 6
A b c
0 1 2 3
1 4 5 6
print (type(data))
输出:
<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.frame.DataFrame'>
我不是可以删除前几行来删除一半的情况:
data.drop(data.index[0], axis =0, inplace = True)
print (data)
输出:
A b c
1 4 5 6
A b c
1 4 5 6
这似乎是我以前从未见过的最奇怪的问题,它使用熊猫并多次读取文件而没有类似问题。
修改
此外,当我删除顶部的'import json'
时,脚本将全部失败,并指出'module' object has no attribute 'read_csv'
import pandas as pd
import numpy as np
data = pd.read_csv('Workbook1.csv')
data
导致AttributeError的结果:“模块”对象没有属性“ read_csv”
答案 0 :(得分:0)
我的脚本的奇怪行为似乎是由于创建了扩展名为.pyc的脚本的编译版本
我已经阅读了一个类似问题的答案,该问题建议更改脚本名称(我的脚本名为json.py,因此认为这可能会引起问题)。更改脚本名称后,我现在有了test.py,但在同一目录中有json.pyc。当我运行脚本时,以某种方式继续引用编译后的版本,因此我继续看到相同的问题。删除.pyc扩展文件解决了我的问题。