相关疑难解决方法(0)

在pandas数据框中选择多个列

我有不同列中的数据,但我不知道如何提取它以将其保存在另一个变量中.

index  a   b   c
1      2   3   4
2      3   4   5
Run Code Online (Sandbox Code Playgroud)

我该如何选择'a','b'并保存到DF1?

我试过了

df1 = df['a':'b']
df1 = df.ix[:, 'a':'b']
Run Code Online (Sandbox Code Playgroud)

似乎没有工作.

python select dataframe pandas

938
推荐指数
19
解决办法
196万
查看次数

使用pandas循环数据帧的最有效方法是什么?

我希望以顺序方式对数据框中的财务数据执行我自己的复杂操作.

例如,我使用从Yahoo Finance获取的以下MSFT CSV文件:

Date,Open,High,Low,Close,Volume,Adj Close
2011-10-19,27.37,27.47,27.01,27.13,42880000,27.13
2011-10-18,26.94,27.40,26.80,27.31,52487900,27.31
2011-10-17,27.11,27.42,26.85,26.98,39433400,26.98
2011-10-14,27.31,27.50,27.02,27.27,50947700,27.27

....
Run Code Online (Sandbox Code Playgroud)

然后我做以下事情:

#!/usr/bin/env python
from pandas import *

df = read_csv('table.csv')

for i, row in enumerate(df.values):
    date = df.index[i]
    open, high, low, close, adjclose = row
    #now perform analysis on open/close based on date, etc..
Run Code Online (Sandbox Code Playgroud)

这是最有效的方式吗?鉴于对熊猫速度的关注,我认为必须有一些特殊的函数来迭代遍历值,同时也检索索引(可能通过生成器来节省内存)?df.iteritems遗憾的是,只能逐列迭代.

python performance for-loop dataframe pandas

306
推荐指数
10
解决办法
41万
查看次数

逐个循环数据帧(pandas)

假设我们有一个包含A,B和C列的数据框:

df = pd.DataFrame(columns =('A','B','C'), index=range(1))
Run Code Online (Sandbox Code Playgroud)

列包含三行数值:

0     A     B      C
1    2.1   1.8    1.6
2    2.01  1.81   1.58
3    1.9   1.84   1.52
Run Code Online (Sandbox Code Playgroud)

如何循环遍历从1到3的每一行,然后执行if语句,包括添加一些变量:

if B1 > 1.5
    calc_temp   = A1*10
    calc_temp01 = C1*-10
if B2 > 1.5 
    calc_temp   = A2*10
    calc_temp01 = C2*-10
if B3 >1.5
    calc_temp   = A3*10
    calc_temp01 = C3*-10
Run Code Online (Sandbox Code Playgroud)

甚至可能吗?它必须知道一系列的种类,即带有某种计数器的全范围数据集号,是吗?if语句应该引用该特定行.

python loops dataframe pandas

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

标签 统计

dataframe ×3

pandas ×3

python ×3

for-loop ×1

loops ×1

performance ×1

select ×1