我有一个列表,其中包含大约45个8列的数据帧。现在,我想根据特定列中出现的特定值来设置数据帧的子集。代码: for z in list_dataframes:
if(z['Segmentation']=="FAST"):
list_fast.append(z) 给我一个错误,说明一个级数的真值是模棱两可的。有人能告诉我怎么解决这个问题吗?附注:另一个完全不同的问题是如何从包含空和非空数据帧的数据帧列表中删除空数据帧。
我有一个包含149个元素的列表。这个列表的每个元素都是一个列表。这个列表中的每一个都有一个数据帧。每个数据帧有11列。每列有366个值。我如何保留这些变量和它们的结构,只擦除最后336个值?
我尝试将空值与最后一个值关联,但收到错误消息
for (i in 1:149){
for (j in 1:11){
x[[i]][[1]][[j]][[366]] <- NULL
}
}
我希望它可以工作,但它没有: x[...] <- m中的错误:替换的长度为零
我有一个数据帧的列表。我的列表中有28个数据帧。一些数据帧有空行,但不是全部。如何使用lapply或类似的函数从列表中的所有数据帧中删除空行?
下面是我从修改的尝试。不幸的是,这只返回那些空行。
#Get list of all files that will be analyzed
filenames = list.files(pattern = ".csv")
#read in all files in filenames
mydata_run1 = lapply(filenames, read.csv, header = TRUE, quote = ""
我需要编写一个函数,该函数将从数百个数据帧中清除NA值,然后返回一个列表,其中包含每个数据帧中完整的行数。 到目前为止,我有以下几点: complete_rows <- function(directory, id=1:332){
# reads directory of files
file_list <- list.files(path = directory)
# subsets the files the id argument calls for
id_files <- file_list[id]
# r
我有以下问题。我在列表环境中存储多个数据帧。我编写了一个循环,用于遍历列表中的数据帧并删除过短的数据帧。但不知何故,从列表中删除数据帧并不成功。 datalist # a list containing data frames
for (i in 1:length(datalist)) {
datset <- datalist[i]
if (nrow(datset) < 25) {
sub_name <- names(datset)
datalist <- datalist[-sub_name]
}
} 我感谢每一个人的帮助。
我已经从csv文件创建了rdd,第一行是该csv文件的标题行。现在,我希望从该rdd创建数据帧,并保留rdd的第一个元素中的列。
问题是我可以从rdd.first()中创建数据帧和列,但是创建的数据帧的第一行本身就是头。如何去除它?
lines = sc.textFile('/path/data.csv')
rdd = lines.map(lambda x: x.split('#####')) ###multiple char sep can be there #### or #@# , so can't directly read csv to a
我已经创建了很多数据帧作为预处理的一部分。由于我限制了6 6GB的内存,我想从内存中删除所有不必要的数据帧,以避免在scikit-learn中运行GRIDSEARCHCV时耗尽内存。
1)是否有一个函数可以只列出当前加载到内存中的所有数据帧?
我尝试了dir(),但它提供了许多数据帧以外的其他对象。
2)我创建了一个要删除的数据帧列表
del_df=[Gender_dummies,
capsule_trans,
col,
concat_df_list,
coup_CAPSULE_dummies]
范围(&R)
for i in del_df:
del (i)
但它不会删
我将一个数据集从CSV文件导入到Python中的dataframe。我想从这个dataframe中删除一些特定的行,并将它们附加到一个空的dataframe。到目前为止,我已经尝试从名为df的“大”数据帧中删除第1行和第0行,并使用以下代码将它们放入dff中:
dff = pd.DataFrame() #Create empty dataframe
for x in range(0, 2):
dff = dff.append(df.iloc[x]) #Append the first 2 rows from df to dff
#How to remove appended
我在pandas中运行了一个很长的ETL管道。我必须创建不同的pandas数据帧,并且我想为一些数据帧释放内存。 我一直在阅读如何释放内存,我发现运行此命令不会释放内存: del dataframe 下面是这个链接:How to delete multiple pandas (python) dataframes from memory to save RAM?,其中一个答案说del语句并不删除实例,它只是删除了一个名称。 在答案中,他们说将数据帧放在列表中,然后删除列表: lst = [pd.DataFrame(), pd.DataFrame(), pd.DataFrame()]
del
在这个数据帧的虚拟列表中,所有列名都有前缀和下划线。列表中的每个数据帧都有不同的前缀,但它们都包含一个下划线。
如何删除列表中所有数据帧的列名中的下划线和前面的文本?我可以单独做,但我真正的列表包含了更多的数据帧。谢谢
#add diferent prefixes to all col names
colnames(iris)<-paste('iris_',colnames(iris), sep='')
colnames(mtcars)<-paste('mt_',colnames(mtcars), sep='')
我正在尝试从列表中的多个数据帧创建多个测试和训练数据集。因此,我得到了“1:nrow(df):长度为0的参数中的错误”,并且不知道如何解决它。我已经手动更新了列表,没有for循环,而且它工作得很好。但是,由于某种原因,当我试图使用for循环重复这个过程时,就会得到错误。
我首先从虹膜数据集创建了一个3帧迷你数据帧。
x <- 3;
# split the data into 3 mini data frames
set.seed(1)
df_list<- split( as.data.frame(iris), sample(x,nrow(iris),replace=TRUE))
而
我不太了解火花。在我拥有的代码的顶部
from pysaprk.sql import SparkSession
import pyspark.sql.function as f
spark = SparkSession.bulder.appName(‘abc’).getOrCreate()
H = sqlContext.read.parquet(‘path to hdfs file’)
H大约有3000万条记录,将在循环中使用。所以我写了
H.persist().count()
我有一个包含50个字符串L = [s1,s2,…,s50]的列表,每个字符串都用来从H构建一个小的数据帧,这些数据
我已经创建了一个通过DB系统连接的函数,然后传递下图中的值:
接下来,我使用了我的函数并遍历了下面的代码:
df_tmp = pd.DataFrame([])
df_master = [] #Convert this to a list instead of a PD Dataframe
for i in PI_tags:
df_tmp = df_tmp.append(ReadPiValues(i, interval, start_date, end_date))
df_master.append(df_tmp)
我的理解是,根据append的工作原理,它不应该重写
我有一个名为frames的字典,里面有数据帧,它根据不同的因素总结了我的数据源。
其中一些组合返回空摘要,这些数据帧也是空的。
我的问题是如何从我的字典中删除这些空的数据帧?我尝试了下面的方法,但它们仍然存在。
new_frames = {k:v for (k,v) in frames.items() if v is not None}
谢谢
我想用pandas.concat在一个循环中连接数据帧。它们具有相同的列,但不同的索引和值,并且它们是在循环中生成的。这样,输出数据帧将在从空数据帧开始的迭代中“增长”。对于列表,它将如下所示:
a = []
for i in range(10):
a.append(i**2)
然而,我发现将数据框设为空是不可取的。唯一的解决方案是在循环之前获得第一个数据帧,并在循环中连接第二个,第三个,...数据帧?
Jarek
我正在尝试创建一个for循环,首先:过滤一个pyspark sql数据帧,然后将过滤后的数据帧转换为pandas,对其应用一个函数,并将结果添加到一个名为results的列表中。我的列表包含一个字符串序列(这将是dataframe中的某种id );我希望for循环在每次迭代中从列表中获取一个字符串,并过滤dataframe中id为该字符串的所有行。示例代码: results = []
for x in list:
aux = df.filter("id='x'")
final= function(aux,"value")