相关疑难解决方法(0)

如何迭代Pandas中的DataFrame中的行?

我有一只DataFrame熊猫:

import pandas as pd
inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]
df = pd.DataFrame(inp)
print df
Run Code Online (Sandbox Code Playgroud)

输出:

   c1   c2
0  10  100
1  11  110
2  12  120
Run Code Online (Sandbox Code Playgroud)

现在我想迭代这个帧的行.对于每一行,我希望能够通过列的名称访问其元素(单元格中的值).例如:

for row in df.rows:
   print row['c1'], row['c2']
Run Code Online (Sandbox Code Playgroud)

是否有可能在熊猫中做到这一点?

我发现了类似的问题.但它没有给我我需要的答案.例如,建议使用:

for date, row in df.T.iteritems():
Run Code Online (Sandbox Code Playgroud)

要么

for row in df.iterrows():
Run Code Online (Sandbox Code Playgroud)

但我不明白row对象是什么以及如何使用它.

python rows dataframe pandas

1551
推荐指数
28
解决办法
199万
查看次数

熊猫:根据返回数据创建索引时间序列[从100开始]

我有关于Pandas DataFrame中变量的对数返回的数据。我想将这些收益转换为从100(或任何任意数字)开始的索引时间序列。例如,在创建通胀指数或比较两个不同幅度的序列时,这种操作非常普遍:

图1:索引两个系列的示例

因此,例如2000年1月1日的第一个值设置为100,而2000年1月2日的下一个值设置为100 * exp(return_2000_01_02),依此类推。下面的例子:

表1:收益示例和索引时间序列

我知道我可以使用.iteritems()遍历 Pandas DataFrame中的行,如下面的SO问题所示: 遍历迭代

我也知道我可以将DataFrame转换为numpy数组,遍历该数组中的值,然后将numpy数组转换回Pandas DataFrame。该.as_matrix()方法,在此说明: http://pandas.pydata.org/pandas-docs/version/0.13.1/generated/pandas.Series.html

一种更简单的方法是使用Pandas索引中记录的Python和numpy 索引运算符[]来对行进行迭代:http : //pandas.pydata.org/pandas-docs/stable/indexing.html

问题在于,所有这些解决方案(迭代项目除外)都在“ Pandas之外”工作,并且据我所读,效率低下。

有没有一种方法可以使用纯熊猫创建索引时间序列?如果没有,请建议最有效的方法。找到解决方案非常困难,因为索引和索引在Pandas中有特定的含义,但我这次不知道了。

python numpy pandas

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

标签 统计

pandas ×2

python ×2

dataframe ×1

numpy ×1

rows ×1