通过列表创建数据框的问题

时间:2019-03-09 17:54:40

标签: python pandas dataframe

经过几次数据处理后,我得到了2个列表 avglist sumlist 现在我将这2个列表传递给了我的 result_df

result_df = pd.DataFrame({"File Name": filelist ,"Average":avglist,"Sum":sumlist})
print(result_df)

所以下面是我的输出结果,但是这里的问题是

1)甚至我的标题Continental AG,数据类型信息也包括..

我只是我的值“ 874”和总计584。

enter image description here

-我尝试了avglist.value(),但.value不是列表函数

还尝试了.index的少量变化,但未获得预期的结果。

我在这里错过了任何步骤吗?

2 个答案:

答案 0 :(得分:0)

导入文件的方式出了问题。如果您获取数据帧的tuple,它将返回给您列的总和。我怀疑您可能正在这样做,因为您正在对一个数据帧求和。然后,当您尝试将列表放在另一个数据框中时,它看起来很时髦。

let采用以下两个数据帧:

()

查看这些数据帧之一的总和:

init : () -> (Model, Cmd Msg)

现在我们是否要获取数据帧的总和并将它们放在列表中:

.sum()

当我们检查时得到:

df = pd.DataFrame({'a':[1, 20, 30, 4, 0],
              'b':[1, 0, 3, 4, 0],
              'c':[1, 3, 7, 7, 5],
              'd':[1, 8, 3, 8, 5],
              'e':[1, 11, 3, 4, 0]})

df2 = pd.DataFrame({'a':[1, 20, 100, 4, 0],
              'b':[1, 0, 39, 49, 10],
              'c':[1, 3, 97, 7, 95],
              'd':[441, 38, 23, 8, 115],
              'e':[1, 11, 13, 114, 0]})

如果您想要整个数据帧的总和而不只是按列,则可以使用df.sum() a 55 b 8 c 23 d 25 e 19 dtype: int64 ,它首先按列求和,然后再对这些列求和

sums = [x.sum() for x in [df, df2]]

因此,跨数据帧将是:

[a    55
 b     8
 c    23
 d    25
 e    19
 dtype: int64, a    125
 b     99
 c    203
 d    625
 e    139
 dtype: int64]

执行均值将取决于您的csv的状态。如果您要进行.sum().sum(),则可能与您要查找的内容大不相同。如果每次只有1列就可以了。但是如果更多,它将取5列的平均值,然后取该平均值(那些5的平均值相加后除以5)。

最后,您的列的名称似乎是“ Continental AG(Worldwide)”。

因此,在您的for循环中,您应该这样做:

df.sum().sum()
130

答案 1 :(得分:0)

我有时像下面这样进行少量操作...

while i < len(filepath):
  .....
  df['Date']=df['Time'].apply(lambda i:i.split('T')[0])
  .......
  .......
  sum1=sum_df.sum(axis=0)
  avg1=Avg_df.sum(axis=0)
  .......
  .......
  avglist.append(avg1)
  sumlist.append(sum1)
  .....
  i+=1

所以我将所有操作更改为以下内容。

 df['Date']=df.iloc[:,0].apply(lambda i:i.split('T')[0])
 .........
 .........

 sum1=sum_df.iloc[:,0].sum()
 avg1=Avg_df.iloc[:,0].mean()
 .....
 .....
 avglist.append(avg1)
 sumlist.append(sum1)

而不是在操作中使用列名,轴。

我在所有操作中均更新为dataframe.iloc,并开始为我提供正确的结果。

enter image description here

仍然不确定确切的原因,但这对我有用。