繁体   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