Pandas:仅从某些列创建新的数据帧

2024-04-28 21:42:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含测量值的csv文件,我想创建一个包含小时平均值和标准偏差的新csv文件。但只适用于某些列。

示例:

CSV版:

YY-MO-DD HH-MI-SS_SSS    |     Acceleration  |        Lumx     |    Pressure
2015-12-07 20:51:06:608  |        22.7       |        32.3     |     10
2015-12-07 20:51:07:609  |        22.5       |        47.7     |     15

至csv 2(仅适用于压力和加速度:

 YY-MO-DD HH-MI-SS_SSS       | Acceleration avg  |   Pressure avg
    2015-12-07 20:00:00:000  |        22.6       |        12.5     
    2015-12-07 21:00:00:000  |        ....       |        ....    

现在我有了一个关于如何计算平均值的想法(感谢这个网站上的人),但是我在创建一个新的更小的数据框架时遇到了麻烦,这个数据框架包含了一些列的计算。

谢谢!!!


Tags: 文件csv数据框架hhssddavg
2条回答

你应该像下面那样做更小的df

csv2 = csv1[['Acceleration', 'Pressure']].copy()

可以处理csv2。(你说你知道平均值的计算方法) 仅供参考,如果您确定view versus copy,可以省略.copy()

csv2 = csv1.loc[:, ['Acceleration', 'Pressure']]
  • .loc[]有助于保持子设置操作的明确性和一致性。

  • .loc[]总是返回一个副本,这样就不会修改原始数据帧。

(有关不同view vs. copy替代方案的进一步讨论和示例,请参见:Pandas: Knowing when an operation affects the original dataframe

相关问题 更多 >