首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建函数,使其通过迭代主数据帧来创建数据帧

如何创建函数,使其通过迭代主数据帧来创建数据帧
EN

Stack Overflow用户
提问于 2019-12-27 19:26:41
回答 2查看 54关注 0票数 0

我有一个熊猫数据框。我想为每个状态创建单独的数据帧,有些状态会多次出现

我知道一种方法:

代码语言:javascript
复制
GOA_filter = df['STATE/UT']=='GOA'
GOA_df = df[GOA_filter]

通过这种方式,我创建了GOA的数据帧,我不想为每个州手动创建数据帧。那么有没有可能创建一个名为"state_df“的函数来创建数据帧呢?比如: GOA_df、HARYANA_df等。

EN

回答 2

Stack Overflow用户

发布于 2019-12-27 19:49:37

这里有一种方法,这个想法是创建一个可以调用的数据帧字典。

代码语言:javascript
复制
df = pd.DataFrame(
    {
        "State": ["GOA", "AP", "UP", "AB", "Punjab"],
        "vals": np.random.randint(0, 500, size=5),
    }
)
dfs = {}
for state, frame in df.groupby('State'):
   dfs[state] = frame


print(dfs['GOA'])
  State  vals
0   GOA   227
票数 2
EN

Stack Overflow用户

发布于 2019-12-27 19:49:17

试着这样做:

代码语言:javascript
复制
import pandas as pd
from io import StringIO

data = """
STATE/UT
A
A
B
C
C
D
"""

df = pd.read_csv(StringIO(data), sep=',')
for x, y in df.groupby('STATE/UT'):
    print('df')
    print(y)

结果:

代码语言:javascript
复制
df
  STATE/UT
0        A
1        A
df
  STATE/UT
2        B
df
  STATE/UT
3        C
4        C
df
  STATE/UT
5        D
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59500097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档