如何从大数据文件中找到两个选定列的总和?

2024-05-15 21:49:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个“n”列和许多行的文本文件。 如何使用for循环从第1列和第n/2列开始逐行查找平方和的平方根之和? 例如,假设我的文本文件有4列3行,如下所示:

    x11 x12 x13 x14
    x21 x22 x23 x24
    x31 x32 x33 x34

我想找到:

    Sq( x11**2 + x13**2 )+Sq( x21**2 + x23**2 )+Sq( x31**2 + x33**2 )
    Sq( x12**2 + x14**2 )+Sq( x22**2 + x24**2 )+Sq( x32**2 + x34**2 )

Tags: forsq文本文件x11x12x13x34x31
1条回答
网友
1楼 · 发布于 2024-05-15 21:49:45

您正在使用python。然后您可以使用pandas包来处理您的数据。你知道吗

import pandas as pd
import numpy as np

将文件转换为熊猫的数据帧。你知道吗

df = pd.read_table('path_to_your_file', delimiter = " ", header=None)

您将得到如下结果:

  | 0  1  2  3
 |      
0 | x  x  x  x
1 | x  x  x  x
2 | x  x  x  x

创建函数

def create_new(df):
    new_row = 0
    mid = df.shape[1]//2
    for i in range(0, mid):
        new_row += np.sqrt(df[i]**2+df[i+mid]**2)
    return new_row

df['n+1'] = df.apply(create_new, axis=1)

它将创建一个名为n+1的新列,其中包含每行的计算。你知道吗

  | 0  1  2  3  n+1
 |         
0 | x  x  x  x   y
1 | x  x  x  x   y
2 | x  x  x  x   y

相关问题 更多 >