簡體   English   中英

Pandas DataFrame 分組/拆分成更小的數據幀

[英]Pandas DataFrame grouping/splitting into smaller DataFrames

我們有一個關於 pandas 和 DataFrames 的問題。 我們有一個大型數據集,其中包含描述 6 種不同活動(步行、站立、坐着等)的值。 我們試圖在維護他們的秩序的同時按他們的活動對價值觀進行分組。 我們當前的 DataFrame 看起來像這樣:

Walking           0.000181
Standing          0.010139
Standing          0.009276
Sitting           0.005066
Sitting           0.010810
...                    ...
Walking upstairs   -0.356609
Laying             -0.317618
Walking downstairs -0.315016
Walking downstairs -0.330737
Walking upstairs   -0.272348

[470528 rows x 1 columns] 

我們想要實現的是(當應用於上面的示例時)6 個不同的 DataFrame。 每個僅包含 1 個活動的值:

Standing   0.010139
Standing   0.009276
Walking downstairs   -0.315016
Walking downstairs   -0.330737

ETC

這是一個可能的(簡單)解決方案

import numpy as np
import pandas as pd


index = ["Walking", "Standing", "Standing", "Sitting", "Sitting","Walking upstairs", "Laying", "Walking downstairs", "Walking downstairs", "Walking upstairs"]
arr = np.array([0.000181, 0.010139, 0.009276, 0.005066, 0.010810, -0.356609, -0.317618, -0.315016, -0.330737, -0.272348])

df = pd.DataFrame(arr, index=index)
print(df)

df_walking = df[df.index=="Walking"]
df_standing = df[df.index=="Standing"]
df_sitting = df[df.index=="Sitting"]
df_laying = df[df.index=="Laying"]
df_walking_up = df[df.index=="Walking upstairs"]
df_walking_down = df[df.index=="Walking downstairs"]

print(df_walking)
print(df_standing)
print(df_sitting)
print(df_laying)
print(df_walking_up)
print(df_walking_down)

暫無
暫無

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

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