首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取pandas dataframe中特定行和列的值

获取pandas dataframe中特定行和列的值
EN

Stack Overflow用户
提问于 2018-07-18 03:04:02
回答 1查看 5K关注 0票数 1
代码语言:javascript
复制
itemsets = [["26"], ["51", "28", "27"], ["50"], ["8"], ["81", "15"], ["10"], ["81"]]
support = [0.06421, 0.00123, 0.04112, 0.0112, 0.12097, 0.08123, 0.0021334]
df = pd.DataFrame()
df["itemsets"]= itemsets
df["support"] = support
print(df)

    itemsets    support
0   [26]    0.064210
1   [51, 28, 27]    0.001230
2   [50]    0.041120
3   [8] 0.011200
4   [81, 15]    0.120970
5   [10]    0.081230
6   [81]    0.002133

例如,我尝试过:

代码语言:javascript
复制
df.support.where(itemsets == ["26"])

我需要有0.064210作为结果,我将有一个给定的项目集的支持。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-18 03:15:41

使用tuple而不是list%s来执行比较。

然后,使用loc并指定所需的列,如下所示

代码语言:javascript
复制
df['itemsets'] = df.itemsets.transform(tuple)
df.loc[df.itemsets == ('26',), 'support']

0    0.06421
Name: support, dtype: float64

请注意,您不必实际更改列,例如

代码语言:javascript
复制
var = df.itemsets.transform(tuple)
val_to_compare = ['26']
df.loc[var == tuple(val_to_compare), 'support']

对于任何顺序

代码语言:javascript
复制
var = df.itemsets.transform(lambda x: tuple(sorted(x)))
val = ['26']
df.loc[var == tuple(sorted(val)), 'support']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51388592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档