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

我知道一种方法:
GOA_filter = df['STATE/UT']=='GOA'
GOA_df = df[GOA_filter]通过这种方式,我创建了GOA的数据帧,我不想为每个州手动创建数据帧。那么有没有可能创建一个名为"state_df“的函数来创建数据帧呢?比如: GOA_df、HARYANA_df等。
发布于 2019-12-27 19:49:37
这里有一种方法,这个想法是创建一个可以调用的数据帧字典。
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发布于 2019-12-27 19:49:17
试着这样做:
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)结果:
df
STATE/UT
0 A
1 A
df
STATE/UT
2 B
df
STATE/UT
3 C
4 C
df
STATE/UT
5 Dhttps://stackoverflow.com/questions/59500097
复制相似问题