小编cs9*_*s95的帖子

按整数索引选择一行pandas系列/ dataframe

我很好奇为什么df[2]不受支持,df.ix[2]而且df[2:3]两者都有效.

In [26]: df.ix[2]
Out[26]: 
A    1.027680
B    1.514210
C   -1.466963
D   -0.162339
Name: 2000-01-03 00:00:00

In [27]: df[2:3]
Out[27]: 
                  A        B         C         D
2000-01-03  1.02768  1.51421 -1.466963 -0.162339
Run Code Online (Sandbox Code Playgroud)

我期望df[2]df[2:3]与Python索引约定一致的方式工作.是否存在不支持单个整数索引行的设计原因?

python indexing dataframe pandas

362
推荐指数
6
解决办法
69万
查看次数

pandas + dataframe - 按部分字符串选择

我有一个DataFrame4列,其中2列包含字符串值.我想知道是否有办法根据与特定列的部分字符串匹配来选择行?

换句话说,函数或lambda函数会做类似的事情

re.search(pattern, cell_in_question) 
Run Code Online (Sandbox Code Playgroud)

返回一个布尔值.我熟悉语法,df[df['A'] == "hello world"]但似乎无法找到一种方法来做同样的部分字符串匹配说'hello'.

有人能指出我正确的方向吗?

python string dataframe pandas

356
推荐指数
12
解决办法
49万
查看次数

如何从数据帧的单元格中获取值?

我构造了一个从我的数据框中提取一行的条件:

d2 = df[(df['l_ext']==l_ext) & (df['item']==item) & (df['wn']==wn) & (df['wd']==1)]
Run Code Online (Sandbox Code Playgroud)

现在我想从特定列中获取值:

val = d2['col_name']
Run Code Online (Sandbox Code Playgroud)

但结果我得到一个包含一行和一列(一个单元格)的数据帧.这不是我需要的.我需要一个值(一个浮点数).我怎么能在熊猫里做到这一点?

python dataframe pandas

293
推荐指数
14
解决办法
76万
查看次数

如何使用Pandas存储数据框

现在我CSV每次运行脚本时都会导入一个相当大的数据帧.是否有一个很好的解决方案可以保持数据帧在运行之间始终可用,因此我不必花费所有时间等待脚本运行?

python dataframe pandas

283
推荐指数
7
解决办法
26万
查看次数

检查Python中的列表中是否存在某些内容

我在Python中有一个元组列表,我有一个条件,我想只在元组不在列表中时才占用分支(如果它在列表中,那么我不想接受if分支)

if curr_x -1 > 0 and (curr_x-1 , curr_y) not in myList: 

    # Do Something
Run Code Online (Sandbox Code Playgroud)

但这并不适合我.我做错了什么?

python membership conditional list

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

熊猫合并101

  • 如何用pandas 执行(LEFT| RIGHT| FULL)(INNER| OUTER)连接?
  • 合并后如何为缺失的行添加NaN?
  • 合并后如何摆脱NaN?
  • 我可以合并索引吗?
  • 如何合并多个DataFrame?
  • mergejoinconcatupdate?谁?什么?为什么?!

... 和更多.我已经看到了这些反复出现的问题,询问了pandas合并功能的各个方面.今天关于合并及其各种用例的大部分信息在几十个措辞严厉,不可搜索的帖子中都是分散的.这里的目的是为后代整理一些更重要的观点.

这个QnA应该是关于常见熊猫习语的一系列有用的用户指南的下一部分(参见关于转动的这篇文章,以及关于连接的这篇文章,我将在稍后介绍).

请注意,这篇文章并不是文档的替代品,所以请阅读它!一些例子来自那里.

python merge join pandas

271
推荐指数
6
解决办法
4万
查看次数

如何将DataFrame索引/系列列作为数组或列表?

您知道如何将DataFrame的索引或列作为NumPy数组或python列表获取吗?

python pandas

251
推荐指数
5
解决办法
51万
查看次数

在pandas groupby中对列表中的行进行分组

我有一个像熊猫一样的数据框:

a b
A 1
A 2
B 5
B 5
B 4
C 6
Run Code Online (Sandbox Code Playgroud)

我希望按第一列分组,并将第二列作为行中的列表:

A [1,2]
B [5,5,4]
C [6]
Run Code Online (Sandbox Code Playgroud)

使用pandas groupby可以做这样的事吗?

python pandas pandas-groupby

222
推荐指数
11
解决办法
15万
查看次数

Pandas DataFrame - 查找列的值最大的行

如何找到特定列的值最大的行

df.max() 会给我每列的最大值,我不知道如何得到相应的行.

python pandas argmax

196
推荐指数
7
解决办法
21万
查看次数

ValueError:具有多个元素的数组的真值是不明确的.使用a.any()或a.all()

我刚刚在代码中发现了一个逻辑错误,导致了各种各样的问题.我无意中做了一个按位AND而不是逻辑AND.

我更改了代码:

r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS)
mask = ((r["dt"] >= startdate) & (r["dt"] <= enddate))
selected = r[mask]
Run Code Online (Sandbox Code Playgroud)

至:

r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS)
mask = ((r["dt"] >= startdate) and (r["dt"] <= enddate))
selected = r[mask]
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,我收到了相当神秘的错误消息:

ValueError:具有多个元素的数组的真值是不明确的.使用a.any()或a.all()

为什么在使用按位操作时没有发出类似的错误 - 我该如何解决这个问题?

python numpy

190
推荐指数
4
解决办法
51万
查看次数