相关疑难解决方法(0)

比较两个pandas数据帧的差异

我有一个脚本更新5-10列的数据,但有时启动csv将与结束csv相同,所以不要写相同的csv文件,我希望它什么也不做......

如何比较两个数据帧以检查它们是否相同?

csvdata = pandas.read_csv('csvfile.csv')
csvdata_old = csvdata

# ... do stuff with csvdata dataframe

if csvdata_old != csvdata:
    csvdata.to_csv('csvfile.csv', index=False)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python python-2.7 pandas

39
推荐指数
8
解决办法
7万
查看次数

比较NumPy数组,使NaNs相等

是否有一种惯用的方法来比较两个NumPy数组,这些数组会将NaN视为彼此相等(但不等于NaN以外的任何其他数据).

例如,我希望以下两个数组比较相等:

np.array([1.0, np.NAN, 2.0])
np.array([1.0, np.NAN, 2.0])
Run Code Online (Sandbox Code Playgroud)

和以下两个数组进行比较不相等:

np.array([1.0, np.NAN, 2.0])
np.array([1.0, 0.0, 2.0])
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种可以产生标量布尔结果的方法.

以下是这样做的:

np.all((a == b) | (np.isnan(a) & np.isnan(b)))
Run Code Online (Sandbox Code Playgroud)

但它很笨重,并创建所有这些中间阵列.

有没有一种方法更容易在眼睛上更好地利用记忆?

PS如果有帮助,已知阵列具有相同的形状和dtype.

python comparison numpy nan

21
推荐指数
3
解决办法
3105
查看次数

标签 统计

python ×2

comparison ×1

nan ×1

numpy ×1

pandas ×1

python-2.7 ×1