使用列表和groupby

时间:2018-01-30 17:59:05

标签: python list pandas

我有一个Dataframe,我想对分组数据执行相同的操作(即关联,绘图)。分组基于位置(在Dataframe中称为STA)。

Dataframe样本如下:

Index STA   Date        Var1    Var2    Var3   
0   RE25    1973-04-09  1.0     10.5    6.3
1   RE30    1973-04-09  1.0     10.0    7.6
2   RE25    1973-04-09  5.0     10.6    NaN
3   RE30    1973-04-09  5.0     10.0    NaN
4   RE25    1973-04-09  10.0    10.6    NaN
5   RE30    1973-04-09  10.0    10.2    NaN
6   RE25    1973-04-09  15.0    10.7    NaN
7   RE30    1973-04-09  15.0    10.1    NaN
8   RE25    1973-04-09  20.0    10.7    NaN
9   RE30    1973-04-09  20.0    10.1    NaN
10  RE30    1973-04-09  23.0    10.0    7.6

要生成唯一采样STA的列表(每个DataFrame将有所不同),我使用

Stations = np.sort(Resdat.STA.unique()).tolist()

用于创建我追求的唯一STA列表。但是,当我尝试调用此列表时,我收到以下错误:

TypeError: 'list' object is not callable.

由于我的知识有限,我只是在使用以下代码取得进展:

RE01 = Resdat.groupby('STA').get_group('RE01')
RE01 = RE01.dropna(axis = 1, how = 'all')

为每个唯一的STA反复重复。

我确信有更好的方法,但我很难找到我可以使用的其他已发布的答案。

1 个答案:

答案 0 :(得分:0)

您可以使用for循环

async function what(http) {
  let d = await $.ajax({
    url: http,
    method: "GET"
  });
  console.log(d); ///this outputs the resolved promise.
  console.log(d.results); //as does this.

  let cart = await d.results;
  console.log("cart " + cart[0]); //as does this
  return cart; //this returns as undefined.
}
var arr = what(http);
console.log(arr); //this returns as undefined.