相关疑难解决方法(0)

获取pandas应用函数中的行索引

我试图访问DataFrame在Pandas中整个应用的函数中的行的索引.我有这样的事情:

df = pandas.DataFrame([[1,2,3],[4,5,6]], columns=['a','b','c'])
>>> df
   a  b  c
0  1  2  3
1  4  5  6
Run Code Online (Sandbox Code Playgroud)

我将定义一个访问具有给定行的元素的函数

def rowFunc(row):
    return row['a'] + row['b'] * row['c']
Run Code Online (Sandbox Code Playgroud)

我可以像这样申请:

df['d'] = df.apply(rowFunc, axis=1)
>>> df
   a  b  c   d
0  1  2  3   7
1  4  5  6  34
Run Code Online (Sandbox Code Playgroud)

真棒!现在如果我想将索引合并到我的函数中呢?DataFrame添加之前的任何给定行的索引d都是Index([u'a', u'b', u'c', u'd'], dtype='object'),但我想要0和1.所以我不能只访问row.index.

我知道我可以在表中创建一个临时列来存储索引,但是我想知道它是否在某个行对象中存在.

dataframe python-2.7 pandas

96
推荐指数
3
解决办法
6万
查看次数

获取数据中的pandas系列索引

我想格式化一系列字符串,以便索引在某处的字符串中.示例系列:

ser = pd.Series(['CT', 'NY', 'MT'], index=['Jessica', 'Eric', 'Toby'])
ser
Jessica    CT
Eric       NY
Toby       MT
dtype: object
Run Code Online (Sandbox Code Playgroud)

所需的输出:

Jessica    Jessica: CT
Eric          Eric: NY
Toby          Toby: MT
dtype: object
Run Code Online (Sandbox Code Playgroud)

我试过这个变种:

ser.apply(lambda x: "{}: {}".format(x.index, x))
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为它x.index引用的是索引方法str,而不是迭代的系列.

python indexing series pandas

3
推荐指数
1
解决办法
1273
查看次数

标签 统计

pandas ×2

dataframe ×1

indexing ×1

python ×1

python-2.7 ×1

series ×1