我有一个csv文件,我想从中提取一个列列表。完成后,我想创建一个新的csv文件,其中包含从前一个文件中提取的列,以及两个新列Function1和Function2,它们包含每个客户端从时间0.001 s到0.005和从0.006到0.01的点的总和。因此,我有两个问题。
这是第一个.csv文件,除时间列外,其他列中有一些点分配给了主题(只是为了说明)
time |client1_points| client2_points| client3_points| server1_points|server2_points
0.001
0.002
0.003
0.004
0.005
0.006
0.007
0.008
0.009
0.01
因此,为了只筛选所需的列,我考虑了这样一个脚本
import math
import pandas as pd
import matplotlib as plt
df = pd.read_csv('test.csv', sep=',')
print(df.columns) # check that the columns are parsed correctly
selected_columns = [col for col in df.columns if ["time, client"] in col]
df_filtered = df[selected_columns]
df_filtered.to_csv('new_testfile.csv')
不幸的是,我不知道为什么这不起作用,因为我无法使清单[“时间、客户”]起作用。
下一个问题是,我要创建两个函数“Average1”和“Average2”:
1.函数1必须计算从时间0.001到0.005的(客户端1_点+客户端2_点+客户端3_点)之和
1.函数2必须计算从时间0.006到0.01的(客户端1_点+客户端2_点+客户端3_点)之和
这两个函数的计算值必须直接集成到创建的新.csv文件中。
一些解决问题的想法?
我希望获得包含此列的.csv工作表
time |client1_points| client2_points| client3_points| Func1| Func2
0.001 1 2 1 4 0
0.002 1 1 2 4 0
0.003 2 3 9 14 0
0.004 2 5 4 11 0
0.005 4 9 8 21 0
0.006 8 1 0 0 9
0.007 4 1 0 0 5
0.008 7 0 0 0 7
0.009 1 0 9 0 10
0.01 2 1 0 0 3
非常感谢大家。
1条答案
按热度按时间rqcrx0a61#
首先,您可以使用以下代码只保留所需的列:
然后你必须执行两个单独的计算(你也可以一步完成,但可能会更慢)来求出总和: