如果我有这样的框架
frame = pd.DataFrame({
"a": ["the cat is blue", "the sky is green", "the dog is black"]
})
我想检查这些行中是否包含某个特定的词,我只需要这样做。
frame["b"] = (
frame.a.str.contains("dog") |
frame.a.str.contains("cat") |
frame.a.str.contains("f
我试图找出是否有一个函数可以检查星火DataFrame的一个列是否包含列表中的任何值:
# define a dataframe
rdd = sc.parallelize([(0,100), (0,1), (0,2), (1,2), (1,10), (1,20), (3,18), (3,18), (3,18)])
df = sqlContext.createDataFrame(rdd, ["id", "score"])
# define a list of scores
l = [1]
# filter out records by scores by li
我有一个大约2M字符串的列表和一个大约800个单词的列表。我已经创建了一个数据帧,其中字符串作为行,单词作为列。除了字符串变量之外,所有其他变量都是true或false值,与单词是否在字符串中相对应。不存在缺失值。 即 import pandas as pd
df = pd.DataFrame({'strings':['a string with california',
'a string with lobster',
我希望将列放在包含banned_columns列表中任何单词的pyspark中,并从其余列中形成一个新的dataframe。
banned_columns = ["basket","cricket","ball"]
drop_these = [columns_to_drop for columns_to_drop in df.columns if columns_to_drop in banned_columns]
df_new = df.drop(*drop_these)
banned_columns的思想是删除以basket和cricket
我需要用选定行上的一些字符串来更新DataFrame列,我为这些行建立了索引。到目前为止,我已经通过列表理解实现了我所需要的东西:
[data.particleIDs.values[idx[i]].append(particlenames[i]) for i in range(len(idx))]
其中data.particleIDs是需要更新的DataFrame列,particlenames是一个包含字符串的列表,idx是一个数组,对于每个字符串,该数组包含需要写入的DataFrame行。几个字符串对应于同一行,我需要将它们都写在DataFrame列中。
假设我有一个DataFrame和我用
我有一个包含多级列的dataframe,如下面的MWE中所示:
df = pd.DataFrame([[1,2],[3,4]], columns=[['a','c'],['b','d']], index=['one','two'])
df.columns.names = ['aa', 'bb']
它看起来像这样:
In [267]: df
Out[267]:
aa a c
bb b d
one 1 2
two 3 4
我还有一个字典列表,如下所示
我有一个具有1100万行和10列的DataFrame。每一列都是一个元素列表(可以是一个空列表,也可以是一个包含最多5个元素的列表)。假设我有另一个包含100000个元素的lsit,我只想过滤DataFrame中的那些行,对于这些行,给定的列(比如columnA)包含了我的100000个元素的大列表中的任何元素。这是我目前的代码:
df = df[df["columnA"].apply(lambda x: any(value in valuesList for value in x))]
但是计算它需要花费大量的时间。我怎样才能加快代码的速度?
我想比较几对pandas数据格式中的一个列,并将共享值写入一个空列表中。我已经编写了一个函数,它可以用一对数据文件来完成这个任务,但是我似乎无法将它放大。
def parser(dataframe1,dataframe2,emptylist):
for i1 in dataframe1['POS']:
for i2 in dataframe2['POS']:
if i1 == i2:
emptylist.append(i1)
其中'POS
我有一个df:
d = {'id': [1,2,3,4,5,6,7,8,9,10],
'text': ['bill did this', 'jim did something', 'phil', 'bill did nothing',
'carl was here', 'this is random', 'other name',
'other bill',