问题
在Pandas DataFrame中给定数据,如下所示:
Name Amount
---------------
Alice 100
Bob 50
Charlie 200
Alice 30
Charlie 10
我希望选择Name是集合{Alice, Bob}中几个值之一的所有行。
Name Amount
---------------
Alice 100
Bob 50
Alice 30
问题
在Pandas中有什么有效的方法可以做到这一点?
就像我看到的那样
循
非常感谢您的阅读。
我有一个大约200,000行和46列的pandas数据帧。其中23列以"_1“结尾,另外23列以"_2”结尾。例如:
forename_1 surname_1 area_1 forename_2 surname_2 area_2
george neil g jim bob k
charlie david s graham josh l
pete keith k
目前,我将以下数据框架从Excel导入到熊猫中,并希望删除基于两列值的重复值。
# Python 3.5.2
# Pandas library version 0.22
import pandas as pd
# Save the Excel workbook in a variable
current_workbook = pd.ExcelFile('C:\\Users\\userX\\Desktop\\cost_values.xlsx')
# convert the workbook to a data frame
current_worksheet = pd.r
我有两个独立的pandas数据帧(df1和df2),它们有多个列,但只有一个公共列('text')。
我希望在df2和df1共有的列的任何行中找不到匹配的df2中的每一行。
df1
A B text
45 2 score
33 5 miss
20 1 score
df2
C D text
.5 2 shot
.3 2 shot
.3 1 miss
结果df (删除包含未命中的行,因为它出现在df1中)
C D text
.5 2 shot
.3 2 shot
在这
在for循环中,我使用函数返回的字典填充数据。也许我没有用正确的术语进行搜索,或者我解决这个问题的方法是错误的,但是我还没有在网上找到一个适用的解决方案。我认为我目前做这件事的方式效率很低。
我对Pandas相当缺乏经验--我尝试了一些尝试使用合并方法,以及一些concat、append和remove_duplicates的组合,但是我还没有完全管理好我想要的东西。
我目前的解决方案是迭代字典项:
for company in Company.instances:
for resource in company.resources:
for product in res
我在Dataframe B中有一个列,其中包含我希望从Dataframe A中删除的元素,如果A包含这些元素的话。我希望删除A中的整行。 我不是编程新手,但我正在学习广泛的pandas库。据我所知,这不可能是有效或适当的。 for i in range(0,106):
for j in range(0,171):
if dfB.iloc[i,2] == dfA.iloc[j,0]:
dfA.drop(j, inplace=True)
我是Python/Pandas的新手,正在努力从pd.Dataframe中提取正确的数据。我实际拥有的是一个包含3列的Dataframe:
data =
Position Letter Value
1 a TRUE
2 f FALSE
3 c TRUE
4 d TRUE
5 k FALSE
我想要做的是将所有真正的行放入一个新的Dataframe中,这样答案将是:
answer =
Position Letter Value
1 a TRUE
3
我有一个包含多列的数据格式。
df= pd.DataFrame({
'Name': ['Peter', 'Peter', 'Peter', 'Jake', 'Jake'],
'Product' : ['A', 'B', 'C', 'A', 'B']
})
Name Product
0 Peter A
1 Peter B
2 Peter
我正在使用Python进行一个小项目,并且遇到了以下问题:
我有一个表,其中A列包含多个并且可能是非唯一值,第二列B包含可能为零的值。现在,我希望根据A列中所有行的值对DataFrame中的所有行进行分组,然后只对B列中包含一个或多个零的组进行“保持”或“选择”。
例如,从如下所示的DataFrame中:
Column A Column B
-------- --------
b 12
c 56
f 0
b 456
b 334
f 10
我只对列A=f的所有行(组