在导出到同一 CSV 和从同一 CSV 导入的两个数据框中找到不同的值
find different values in two dataframes exported to and imported from the same CSV
我有一个 df_final
pandas v1.3.4 数据框并将其导出到 CSV 文件,因此我不需要在每次进行分析时都重复数据框构建步骤。 df_final
将是一个 13000 x 91 数据帧,但我首先在较小的 689x91 数据帧上测试该过程。
我想确认通过读取 df_final
CSV 生成的 df_final_csv
数据帧与 df_final
数据帧相同。根据以下内容,看起来它们是不同的。但是,我不确定如何。我复制了一些堆栈溢出代码(下面,改编自 ) but some other solutions ()不起作用,因为我的 df_final
中有列表对象。我如何找到导致问题的值?
如果有任何其他信息有帮助,请告诉我。
#689 rows x 91 columns
df_final = pd.DataFrame.from_dict(results)
print (f'NaN are present: {df_final.isnull().values.any()}')# False
#export to csv
df_final.to_csv('integrated_df.csv')
#read in csv
df_final_csv = pd.read_csv('integrated_df.csv', index_col = 0)
print (f' NaN are present: {df_final_csv .isnull().values.any()}')# False')
print (f'imported df is same as exported df: {df_final.equals(df_final_csv)}')#False
#try and find discrepancies (--> empty df)
different_values = df_final_csv [~df_final_csv .isin(df_final)].dropna() #empty df with only column headers
干杯!
可能有一些特殊字符被 CSV 弄乱了。尝试写入 .pkl 文件,您将获得 100% 相同的数据。
import pickle
# write into pickle file
pickle.dump(df, open("df.pkl", 'wb'))
# then read it
df_new = pickle.load(open("df.pkl", 'rb'))
我有一个 df_final
pandas v1.3.4 数据框并将其导出到 CSV 文件,因此我不需要在每次进行分析时都重复数据框构建步骤。 df_final
将是一个 13000 x 91 数据帧,但我首先在较小的 689x91 数据帧上测试该过程。
我想确认通过读取 df_final
CSV 生成的 df_final_csv
数据帧与 df_final
数据帧相同。根据以下内容,看起来它们是不同的。但是,我不确定如何。我复制了一些堆栈溢出代码(下面,改编自 df_final
中有列表对象。我如何找到导致问题的值?
如果有任何其他信息有帮助,请告诉我。
#689 rows x 91 columns
df_final = pd.DataFrame.from_dict(results)
print (f'NaN are present: {df_final.isnull().values.any()}')# False
#export to csv
df_final.to_csv('integrated_df.csv')
#read in csv
df_final_csv = pd.read_csv('integrated_df.csv', index_col = 0)
print (f' NaN are present: {df_final_csv .isnull().values.any()}')# False')
print (f'imported df is same as exported df: {df_final.equals(df_final_csv)}')#False
#try and find discrepancies (--> empty df)
different_values = df_final_csv [~df_final_csv .isin(df_final)].dropna() #empty df with only column headers
干杯!
可能有一些特殊字符被 CSV 弄乱了。尝试写入 .pkl 文件,您将获得 100% 相同的数据。
import pickle
# write into pickle file
pickle.dump(df, open("df.pkl", 'wb'))
# then read it
df_new = pickle.load(open("df.pkl", 'rb'))