df_a并且df_b是两个数据框,如下所示
df_a
A B C D E
x1 Apple 0.3 0.9 0.6
x1 Orange 0.1 0.5 0.2
x2 Apple 0.2 0.2 0.1
x2 Orange 0.3 0.4 0.9
x2 Mango 0.1 0.2 0.3
x3 Orange 0.3 0.1 0.2
df_b
A B_new F
x1 Apple 0.3
x1 Mango 0.2
x1 Orange 0.1
x2 Apple 0.2
x2 Orange 0.3
x2 Mango 0.1
x3 Orange 0.3
x3 Mango 0.2
x3 Apple 0.1
Run Code Online (Sandbox Code Playgroud)
我希望我的final_df包含包含在所有的行df_a,使得它设想的独特组合df_a['A'] == df_b['A']和 …
我有一个名为accountnumber的列,其值在pandas数据帧中类似于4.11889000e + 11.我想压制科学记数法并将值转换为4118890000.我尝试了以下方法,但没有奏效.
df = pd.read_csv(data.csv)
pd.options.display.float_format = '{:,.3f}'.format
Run Code Online (Sandbox Code Playgroud)
请推荐.
我正在尝试计算两个大型 csv 文件(~ 4GB)之间的差异以获取新添加的行并将它们写入输出 csv 文件。通过使用以下代码,我能够为相对较小的文件(~50MB)获得此功能。
input_file1 = "data.csv"
input_file2 = "data_1.csv"
output_path = "out.csv"
with open(input_file1, 'r') as t1, open(input_file2, 'r') as t2:
fileone = t1.readlines()
filetwo = t2.readlines()
with open(output_path, 'w') as outFile:
for line in filetwo:
if line not in fileone:
outFile.write(line)
Run Code Online (Sandbox Code Playgroud)
但是,对于较大的文件,上述代码要么太慢(运行约半小时),要么因内存空间不足而崩溃。
有没有更快的方法来获取大型 csv 文件的差异?