簡體   English   中英

Pandas:僅從某些列創建新數據框

[英]Pandas: Creating new data frame from only certain columns

我有一個帶有測量值的 csv 文件,我想創建一個具有每小時平均值和標准偏差的新 csv 文件。 但僅適用於某些列。

例子:

csv1:

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  |        ....       |        ....    

現在我有一個關於如何計算平均值的想法(感謝這個網站上的人) - 但我在創建一個包含幾列計算的新的更小的 dataframe 時遇到了麻煩。

謝謝 !!!

你應該像下面那樣制作更小的df,

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

並且可以處理csv2。 (你說你有關於平均計算的想法.copy()如果你確定視圖和副本,可以省略FYI, .copy()

csv2 = csv1.loc[:, ['Acceleration', 'Pressure']]
  • .loc[]有助於使子集化操作保持顯式和一致。

  • .loc[]始終返回一個副本,因此永遠不會修改原始數據幀。

(有關不同view vs. copy替代方案的進一步討論和很好的示例,請參閱: Pandas:了解操作何時影響原始數據幀

您的平均方法可以 go 代替“method_to_obtain_avg” ,然后您可以獲得如下子集:

csv2 = csv1.method_to_obtain_avg()[["Accelaration", "Pressure"]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM