迭代选择df pandas

时间:2015-06-25 19:40:16

标签: python loops pandas selection rows

我从JSON转换了pandas DataFrame并提取了我想要的列和行(很好地导出为CSV)。

但是,我想在行中加入一些“级别”。我想使用像:

之类的东西来迭代我的索引数据
df.likes[0]['count']

我的DataFrame名为dflikes是列。我想在整行上访问值“count”,将其打印回DataFrame的相同位置和列。

以下是数据:

>>> df_likes.ix[0:94]
0     {u'count': 1685, u'anchorStr': u'1225924030067...
1     {u'count': 1944, u'anchorStr': u'1225924022404...
2     {u'count': 2586, u'anchorStr': u'1225924194077...
3     {u'count': 3075, u'anchorStr': u'1225924298746...
4     {u'count': 3263, u'anchorStr': u'1225924358464...
5     {u'count': 3390, u'anchorStr': u'1225924289589...
6     {u'count': 4306, u'anchorStr': u'1225924191359...
7     {u'count': 751, u'anchorStr': u'12259244210391...
8     {u'count': 2425, u'anchorStr': u'1225924419831...
9     {u'count': 2628, u'anchorStr': u'1225924362763...
10    {u'count': 1521, u'anchorStr': u'1225924213802...

2 个答案:

答案 0 :(得分:0)

假设您想使用索引和列名访问单元格值,以下示例代码根据docs执行作业:

#!/usr/bin/env python3
# coding: utf-8

from pandas import DataFrame
from numpy.random import randn

df = DataFrame(randn(8, 4), columns=['A', 'B', 'C', 'D'])

#access column with name 'A' and index 6
print(df['A'].ix[6])

答案 1 :(得分:0)

也许你这么想?

    anchorStr        ucount
0   1225924030067    1685
1   1225924022404    1944
2   1225924194077    2586
3   1225924298746    3075
4   1225924358464    3263
5   1225924289589    3390
6   1225924191359    4306
7   1225924421039     751
8   1225924419831    2425
9   1225924362763    2628
10  1225924213802    1521

如果你想到这个,这段代码可以胜任。

from pandas import DataFrame as df

data = [
{u'count': 1685, u'anchorStr': u'1225924030067'},
{u'count': 1944, u'anchorStr': u'1225924022404'},
{u'count': 2586, u'anchorStr': u'1225924194077'},
{u'count': 3075, u'anchorStr': u'1225924298746'},
{u'count': 3263, u'anchorStr': u'1225924358464'},
{u'count': 3390, u'anchorStr': u'1225924289589'},
{u'count': 4306, u'anchorStr': u'1225924191359'},
{u'count': 751, u'anchorStr': u'1225924421039'},
{u'count': 2425, u'anchorStr': u'1225924419831'},
{u'count': 2628, u'anchorStr': u'1225924362763'},
...
{u'count': 1521, u'anchorStr': u'1225924213802'}]

c = [c['count'] for c in d]
a = [a['anchorStr'] for a in d]

d = df({'ucount': c, 'anchorStr': a})

print d

很高兴得到帮助!如果您觉得它对您有用,请随时接受我的回答。 : - )