我希望有选择地将数据从一个数据(A)集成到另一个数据(B)中。条件如下:数据帧共享两列(miRNA & Gene)。Dataframe还包含具有对值的列。
我希望在dataframe中创建一个新列,该列从A中的Value列中获取,并包含一个值,如果这一对(A中的一行中相同的miRNA和基因)匹配B中的值,则如果B中的值与B中的值不匹配,则创建一个带有分数的新行。
伪码
#Initialize column in B that will house A value if first two columns match
B$A_Values <- 0
If A[,1:2] == B
我试图根据DataFrame文本列中的特定术语创建数据子集。
df = pd.DataFrame({'id': [123, 456, 789, 101, 402],
'text': [[{'the meeting was amazing'}, {'we should do it more often'}],
[{'start': '15', 'tag': 'Meet
具体来说,我想迭代两个数据文件,一个是大的,另一个是小的。
最后,我想比较一下某一列中的值。
我试着创建一个嵌套的for循环;外部循环遍历大型dataframe,内部循环迭代小的dataframe,但是我遇到了困难。
我正在寻找一种方法来识别我的大型数据文件中的"name“和"value”,它们与我的小dataframe匹配。
背景信息:我正在使用熊猫库。
大型数据帧:
小数据集:
Name Value
SF 12.84
TH -49.45
示例:
dataframe1有以下行和列。
+---------+---------+---------+---------+---------+
| Column1 | Column2 | Column3 | Column4 | Column5 |
+---------+---------+---------+---------+---------+
| A | B | C | D | E |
| P | Q | R | S | T |
| J | K
我有一个如下所示的数据框架(Dataframe ):
id number found
1 5225 NA
2 2222 NA
3 3121 NA
我有另一个看起来像这样的数据框架(Dataframe ):
id number1 number2
1 4000 6000
3 2500 3300
3 7000 8000
我要做的是:对于Dataframe "number“列中的每个值,搜索它是否等于或介于Dataframe的任何"number1”和"number2“对值之间。此外,对于这个
我想检查pandas.DataFrame列是否包含特定值。例如,这个玩具Dataframe在"two"列中有一个"h"
import pandas as pd
df = pd.DataFrame(
np.array(list("abcdefghi")).reshape((3, 3)),
columns=["one", "two", "three"]
)
df
one two three
0 a b c
1 d e f
2 g h i
我想知道,如果我错过了我的系列或DataFrame的值,但我发现,我不能只使用True系列。为什么不起作用?
我通过使用series.isna().sum() != 0完成了这个任务,但是这个问题对我来说很有趣。
mass = [True,False]
print(True in mass) #return True
mass = pd.Series([True,False])
print(True in mass) #return False
mass = pd.DataFrame([True,False])
print(True in mass) #return False
有没有办法用pyspark 2.1.0创建/填充列,其中列的名称是另一个列的值?我尝试了以下几种方法
def createNewColumnsFromValues(dataFrame, colName, targetColName):
"""
Set value of column colName to targetColName's value
"""
cols = dataFrame.columns
#df = dataFrame.withColumn(f.col(colName), f.col(targetCol
我有一个具有1100万行和10列的DataFrame。每一列都是一个元素列表(可以是一个空列表,也可以是一个包含最多5个元素的列表)。假设我有另一个包含100000个元素的lsit,我只想过滤DataFrame中的那些行,对于这些行,给定的列(比如columnA)包含了我的100000个元素的大列表中的任何元素。这是我目前的代码:
df = df[df["columnA"].apply(lambda x: any(value in valuesList for value in x))]
但是计算它需要花费大量的时间。我怎样才能加快代码的速度?
我有两个dataframe,我需要连接一列,如果id包含在第二个dataframe的同一列中,则只从第一个dataframe中提取行:
df1:
id a b
2 1 1
3 0.5 1
4 1 2
5 2 1
df2:
id c d
2 fs a
5 fa f
所需输出:
df:
id a b
2 1 1
5 2 1
我尝试使用df1.join(df2("id"),"left"