我正在编写一个简短的脚本来处理一些csv数据。 我的数据看起来像这样:
Freq res loop
10000 10 1
100 11 1
10000 12 2
100 13 2
我需要提取每个频率的所有res
值,并将它们放入单独的列表中。例如10000 10 12
其中10000是频率,10和12是循环1和2的res值。
快速而肮脏的方法是按循环计数剪切列并将它们水平堆叠然后按行读取数据:
Freq res loop Freq res loop
10000 10 1 10000 12 2
100 11 1 100 13 2
但是我觉得那种粗野的强迫它可能会变得凌乱。
我创建了一个字典key[(Freq, loop)] = res
,以便我可以执行以下操作:
for i in np.arange(1, max(loop)+1,1):
print(key[10000,i])
但我不知道如何循环频率并为每个频率创建一个单独的列表。
我还是Python的新手,所以任何输入都会受到赞赏。如果我错过了一个更简单的解决方案,请告诉我。谢谢。
答案 0 :(得分:1)
你可能想看一下熊猫。
import pandas as pd
df = pandas.read_csv(fname)
df.groupby('Freq')