小编ipr*_*214的帖子

基于多个条件加入两个熊猫数据框

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']和 …

python merge dataframe pandas

11
推荐指数
1
解决办法
2万
查看次数

抑制数据框列中的科学格式

我有一个名为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)

请推荐.

python scientific-notation dataframe pandas

9
推荐指数
2
解决办法
9643
查看次数

计算两个 csv 文件之间差异的更快方法

我正在尝试计算两个大型 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 文件的差异?

python csv

4
推荐指数
1
解决办法
5307
查看次数

标签 统计

python ×3

dataframe ×2

pandas ×2

csv ×1

merge ×1

scientific-notation ×1