gpt4 book ai didi

python - 细化,平均,圆形数据 python

转载 作者:太空宇宙 更新时间:2023-11-04 01:30:18 29 4
gpt4 key购买 nike

我有一个大型数据集(请参阅下面的示例格式),我需要进行以下思考:

  1. 确定第 1、2、5 列中出现的重复值 - 如果全部重复,那么我需要删除多余的行并对第 8 列中的值进行平均(这对于我将发布的代码是成功的 -
  2. 在第一步之后,我想将第 1,2 列的值四舍五入为整数(无小数)
  3. 我想重新引入第 3、4、6 和 7 列 -
    第 3、6 和 7 列需要有我指定的特定值(例如,3 应该全为 0,6 应该全为 1,第 7 列全为 1)(类似于输入文件)根据第 4 列上不同值的数量,第 4 列需要增加 1)(类似于输入文件

这是一个示例输入文件:数据(文件名)

564991.15   7371277.89  0   1   1530    1   1   16.0225
564991.15 7371277.89 0 1 8250 1 1 14.4405
564991.15 7371277.89 0 2 1530 1 1 14.8637
564991.15 7371277.89 0 2 8250 1 1 14.8918
564991.17 7371277.89 0 3 1530 1 1 16.0002
564991.17 7371277.89 0 3 8250 1 1 15.4333
564991.04 7371276.76 0 4 1530 1 1 14.73
564991.04 7371276.76 0 4 8250 1 1 15.6138
564991.04 7371276.76 0 5 1530 1 1 16.2453
564991.04 7371276.76 0 5 8250 1 1 15.6138

这是我所知道的代码(目前我在 calc 中补充)

import os
import numpy as np
import pandas as pd
datadirectory = '/media/data'
os.chdir = 'datadirectory'
df = pd.read_csv('/media/data/data.dat')
sorted_data = df.groupby(["X.1","X.2","X.5"])["X.8"].mean().reset_index()
tuple_data = [tuple(x) for x in sorted_data.values]
datas = np.asarray(tuple_data)
np.savetxt('sorted_data_rounded.dat', datas, fmt='%s', delimiter='\t')

但他只给了我 4 列,没有四舍五入的数据....

最佳答案

添加一半并施放 astype 可能会稍微快一些整数:

df = pd.read_csv('data.dat', header=None, sep='\s+')

In [2]: df
Out[2]:
0 1 2 3 4 5 6 7
0 564991.15 7371277.89 0 1 1530 1 1 16.0225
1 564991.15 7371277.89 0 1 8250 1 1 14.4405
2 564991.15 7371277.89 0 2 1530 1 1 14.8637
3 564991.15 7371277.89 0 2 8250 1 1 14.8918
4 564991.17 7371277.89 0 3 1530 1 1 16.0002
5 564991.17 7371277.89 0 3 8250 1 1 15.4333
6 564991.04 7371276.76 0 4 1530 1 1 14.7300
7 564991.04 7371276.76 0 4 8250 1 1 15.6138
8 564991.04 7371276.76 0 5 1530 1 1 16.2453
9 564991.04 7371276.76 0 5 8250 1 1 15.6138

df1 = df.groupby([0, 1, 4])[7].mean().reset_index()
df1['ints'] = (df1[7] + 0.5).astype(int)

In [5]: df1
Out[5]:
0 1 4 7 ints
0 564991.04 7371276.76 1530 15.48765 15
1 564991.04 7371276.76 8250 15.61380 16
2 564991.15 7371277.89 1530 15.44310 15
3 564991.15 7371277.89 8250 14.66615 15
4 564991.17 7371277.89 1530 16.00020 16
5 564991.17 7371277.89 8250 15.43330 15

注意:您可以使用 DataFrame 方法保存 DataFrame to_csv .

关于python - 细化,平均,圆形数据 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14268794/

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