首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python循环并为列的每个值创建新的数据

python循环并为列的每个值创建新的数据
EN

Stack Overflow用户
提问于 2017-09-28 18:46:33
回答 2查看 1.4K关注 0票数 6

我想为每个站点的独特价值创建一个新的数据格式。

我在下面尝试过,它只提供了在dataframe = tai_new.i中更新的最后一个站点数据。

代码语言:javascript
复制
tai['station'].unique() has 500 values.

for i in tai['station'].unique():
   tai_new.i = tai[tai_2['station'] ==i]

另一种方法是创建一个单独的列表

代码语言:javascript
复制
tai_stations = tai['station'].unique()

然后创建两个循环,但是,我不想输入500 (IF)条件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-28 18:50:41

您可以通过将dict对象转换为tuple,然后转换为dict来创建groupby对象。

代码语言:javascript
复制
dfs = dict(tuple(tai.groupby('station')))

示例:

代码语言:javascript
复制
tai = pd.DataFrame({'A':list('abcdef'),
                   'B':[4,5,4,5,5,4],
                   'C':[7,8,9,4,2,3],
                   'D':[1,3,5,7,1,0],
                   'E':[5,3,6,9,2,4],
                   'station':list('aabbcc')})

print (tai)
   A  B  C  D  E station
0  a  4  7  1  5       a
1  b  5  8  3  3       a
2  c  4  9  5  6       b
3  d  5  4  7  9       b
4  e  5  2  1  2       c
5  f  4  3  0  4       c

dfs = dict(tuple(tai.groupby('station')))

#select each DataFrame by key - name of station
print (dfs['a'])
   A  B  C  D  E station
0  a  4  7  1  5       a
1  b  5  8  3  3       a

print (type(dfs['a']))
<class 'pandas.core.frame.DataFrame'>
票数 4
EN

Stack Overflow用户

发布于 2017-09-28 18:53:13

请用这个

对于我在台站。唯一():tai_newi =泰[台2‘站’==i]

假设tai_new是个白痴。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46476310

复制
相关文章

相似问题

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