草庐IT

dataframe

全部标签

python - 有效地将函数并行应用于分组的 pandas DataFrame

我经常需要将一个函数应用到一个非常大的DataFrame(混合数据类型)的组中,并希望利用多个内核。我可以从组中创建一个迭代器并使用多处理模块,但效率不高,因为每个组和函数的结果都必须为进程之间的消息传递进行腌制。有什么方法可以避免酸洗甚至完全避免DataFrame的复制?看起来多处理模块的共享内存功能仅限于numpy数组。还有其他选择吗? 最佳答案 从上面的评论来看,这似乎是为pandas计划的(我刚刚注意到还有一个看起来很有趣的rosettaproject)。然而,在所有并行功能都被合并到pandas之前,我注意到直接使用cyt

python - 有效地将函数并行应用于分组的 pandas DataFrame

我经常需要将一个函数应用到一个非常大的DataFrame(混合数据类型)的组中,并希望利用多个内核。我可以从组中创建一个迭代器并使用多处理模块,但效率不高,因为每个组和函数的结果都必须为进程之间的消息传递进行腌制。有什么方法可以避免酸洗甚至完全避免DataFrame的复制?看起来多处理模块的共享内存功能仅限于numpy数组。还有其他选择吗? 最佳答案 从上面的评论来看,这似乎是为pandas计划的(我刚刚注意到还有一个看起来很有趣的rosettaproject)。然而,在所有并行功能都被合并到pandas之前,我注意到直接使用cyt

python - 将 Pandas 数据框列表连接在一起

我有一个Pandas数据帧列表,我想将它们合并到一个Pandas数据帧中。我正在使用Python2.7.10和Pandas0.16.2我从以下位置创建了数据框列表:importpandasaspddfs=[]sqlall="select*frommytable"forchunkinpd.read_sql_query(sqlall,cnxn,chunksize=10000):dfs.append(chunk)这会返回一个数据框列表type(dfs[0])Out[6]:pandas.core.frame.DataFrametype(dfs)Out[7]:listlen(dfs)Out[8]

python - 将 Pandas 数据框列表连接在一起

我有一个Pandas数据帧列表,我想将它们合并到一个Pandas数据帧中。我正在使用Python2.7.10和Pandas0.16.2我从以下位置创建了数据框列表:importpandasaspddfs=[]sqlall="select*frommytable"forchunkinpd.read_sql_query(sqlall,cnxn,chunksize=10000):dfs.append(chunk)这会返回一个数据框列表type(dfs[0])Out[6]:pandas.core.frame.DataFrametype(dfs)Out[7]:listlen(dfs)Out[8]

python - pandas 中的大而持久的 DataFrame

作为长期SAS用户,我正在探索切换到python和pandas。然而,今天在运行一些测试时,我很惊讶python在尝试pandas.read_csv()一个128mb的csv文件时内存不足。它有大约200,000行和200列主要是数字数据。使用SAS,我可以将csv文件导入SAS数据集,它可以和我的硬盘一样大。pandas中有类似的东西吗?我经常处理大文件,但无法访问分布式计算网络。 最佳答案 韦斯当然是对的!我只是想提供一些更完整的示例代码。我对一个129Mb的文件也有同样的问题,解决方法是:importpandasaspdtp=

python - pandas 中的大而持久的 DataFrame

作为长期SAS用户,我正在探索切换到python和pandas。然而,今天在运行一些测试时,我很惊讶python在尝试pandas.read_csv()一个128mb的csv文件时内存不足。它有大约200,000行和200列主要是数字数据。使用SAS,我可以将csv文件导入SAS数据集,它可以和我的硬盘一样大。pandas中有类似的东西吗?我经常处理大文件,但无法访问分布式计算网络。 最佳答案 韦斯当然是对的!我只是想提供一些更完整的示例代码。我对一个129Mb的文件也有同样的问题,解决方法是:importpandasaspdtp=

python - 在 pandas 的 DataFrame 上搜索 "does-not-contain"

我已经进行了一些搜索,但无法弄清楚如何过滤数据框df["col"].str.contains(word)但是我想知道是否有一种相反的方法:通过该集合的恭维过滤数据框。eg:大意是!(df["col"].str.contains(word))这可以通过DataFrame方法完成吗? 最佳答案 您可以使用反转(~)运算符(其作用类似于bool数据的not):new_df=df[~df["col"].str.contains(word)]其中new_df是RHS返回的副本。包含也接受正则表达式...如果上面抛出ValueError或Typ

python - 在 pandas 的 DataFrame 上搜索 "does-not-contain"

我已经进行了一些搜索,但无法弄清楚如何过滤数据框df["col"].str.contains(word)但是我想知道是否有一种相反的方法:通过该集合的恭维过滤数据框。eg:大意是!(df["col"].str.contains(word))这可以通过DataFrame方法完成吗? 最佳答案 您可以使用反转(~)运算符(其作用类似于bool数据的not):new_df=df[~df["col"].str.contains(word)]其中new_df是RHS返回的副本。包含也接受正则表达式...如果上面抛出ValueError或Typ

python - 如何将 tsv 文件加载到 Pandas DataFrame 中?

我是python和pandas的新手。我正在尝试将tsv文件加载到pandasDataFrame中。这是我正在尝试的,我得到的错误:>>>df1=DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'),delimiter='\t'))Traceback(mostrecentcalllast):File"",line1,indf1=DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'),delimiter='\t'))File"C:\Python27\lib\site-packages\panda

python - 如何将 tsv 文件加载到 Pandas DataFrame 中?

我是python和pandas的新手。我正在尝试将tsv文件加载到pandasDataFrame中。这是我正在尝试的,我得到的错误:>>>df1=DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'),delimiter='\t'))Traceback(mostrecentcalllast):File"",line1,indf1=DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'),delimiter='\t'))File"C:\Python27\lib\site-packages\panda