gpt4 book ai didi

python - 如何操作文件中的数据并对Python进行排序

转载 作者:行者123 更新时间:2023-12-01 03:54:30 25 4
gpt4 key购买 nike

我有一个 .dat 文件,其中包含此信息(但真正的文件有数千行):

    n      a (au)  k0    k1 P1   k2 
1 3.156653 2 3 5 -18
2 3.152517 2 5 5 -23
3 3.154422 3 -18 5 29
4 3.151668 3 -16 5 24
5 3.158629 5 -19 5 21
6 3.156970 5 -17 5 16
7 3.155314 5 -15 5 11
8 3.153660 5 -13 5 6
9 3.152007 5 -11 5 1
10 3.150357 5 -9 5 -4

我通过以下方式加载数据:

import numpy as np
import matplotlib.pyplot as plt
from pylab import *

n = array([])
a = array([])
k0 = array([])
k1 = array([])
p1 = array([])
k2 = array([])
p2 = array([])

l = np.loadtxt('pascal.dat', skiprows=1, usecols=(0,1,2,3,4,5)).T
n=append(n,l[0])
a=append(a,l[1])
k0=append(k0,l[2])
p1=append(p1,l[3])
k1=append(k1,l[4])
p2=append(p2,l[5])

我想使用“a(au)”列的值来计算“n”列的每个元素距给定中心的距离,因此:

center = 3.15204
for i in range(len(n)):
distance = abs(center-a[i]))

好吧,现在我想重新编写 .dat 文件,同时考虑到距离值。因此,我想添加一个名为“distance”的新列,然后我想根据这个新参数对所有 n 行进行排序,首先是最小的(最接近中心的),依此类推。

有什么建议吗?

最佳答案

我建议使用 pandas 库。将 .dat 文件作为数据帧读取 - 这是一个非常强大的工具,您可以通过它操作数据、添加列等。

import pandas as pd

with open('../pascal.dat') as f:
df = pd.Dataframe(f)

center = 3.15

df['distance'] = abs(3.15 - df['a (au)'])

关于python - 如何操作文件中的数据并对Python进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37732808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com