dataframe 相关问题

数据框是表格数据结构。通常,它包含数据,其中行是观察值,列是各种类型的变量。虽然“数据框架”或“数据框架”是这个概念用于多种语言的术语(R,Apache Spark,deedle,Maple,Python中的pandas库和Julia中的DataFrames库),“table”是用于的术语MATLAB和SQL。

如果一列需要特定映射,如何对数据框中的多列进行排序?

我有一个数据框,我想根据 3 列对其进行排序,其中一列特别具有我想要使用的特定映射。例如,对于这个数据框: 我想按列排序...

回答 1 投票 0

根据列值和列名称连接两个数据框

我有两个数据帧,我试图以某种方式连接它们以生成第三个数据帧。 我正在用 python 做这个。 df1: 日期 A B C 2023年4月27日 00:00 55.66371155 0.321940005 0.145006001 28...

回答 1 投票 0

将大型数据帧导出到json文件,而不将整个字符串存储在内存中

我有一个非常大的数据框,导出为json时约为3.5GB。我注意到在将其导出为 json 时,它消耗了额外的 7GB 内存。看起来 panda 的数据框保存了整个 json

回答 1 投票 0

基于字符串在 Pandas 数据框中选择行的更快方法

我正在尝试使用字符串来匹配值,从 Pandas 数据框中选择特定行。当我反复运行此操作时,我正在寻找最快的方法来执行此操作。我发现我可以散列...

回答 1 投票 0

Python 从两个不同的数据帧获取数据,创建一个新的数据帧并构建从其他两个数据帧收集的数据

我对Python非常陌生,并且正在解决问题。 # 第一个数据框 df1 = pd.DataFrame({ '名字': ['亚当','阿什利','亚当','唐',], 'items': ['苹果','香蕉','樱桃','日期'], '泉...

回答 1 投票 0

提取在两个单独的列中重复的文本

我有一个df: A栏 B栏 约翰 美国能源部 汤姆 汤姆 莎莉 梅 标记 标记 杰克 杰克 我想提取 A 列和 B 列中出现的所有重复名称。比如最后的df sh...

回答 1 投票 0

数据框元组名称列设置值

将 pandas 导入为 pd df = pd.DataFrame([[0,0], [0,0]], 索引=['a', 'b']) df.列 = [(1,2), (3,4)] df.at['a', (1,2)] = 100 打印(df) 我的列名称是一个元组,我想将值 100 设置为 1...

回答 1 投票 0

查找行中第二高值的列号和值

我正在尝试编写一些代码来标识每行的最大两个值并提供它们的列号和值。 df = data.frame( 汽车 = c (2,1,1,1,0), 巴士 = c (0,2,0,1,0), ...

回答 2 投票 0

为什么我的 pandas df 是所有对象数据类型而不是例如int、字符串等?

在这篇 SO 文章中,有人建议使用 df.info() 来获取有关 pandas df 的信息,包括每个字段的数据类型。 在此粘贴此人的部分答案: 火车.info() 在 this 所以有人建议使用 df.info() 来获取有关 pandas df 的信息,包括每个字段的数据类型。 在此粘贴此人的部分答案: train.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 891 entries, 0 to 890 Data columns (total 12 columns): PassengerId 891 non-null int64 Survived 891 non-null int64 Pclass 891 non-null int64 Name 891 non-null object Sex 891 non-null object Age 714 non-null float64 SibSp 891 non-null int64 Parch 891 non-null int64 Ticket 891 non-null object Fare 891 non-null float64 Cabin 204 non-null object Embarked 889 non-null object dtypes: float64(2), int64(5), object(5) memory usage: 83.6+ KB 我在自己的 pandas 数据框上尝试了这个: sessions1DF.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 69085 entries, 0 to 69084 Data columns (total 10 columns): ga:date 69085 non-null object ga:hour 69085 non-null object ga:dimension1 69085 non-null object ga:dimension2 69085 non-null object ga:userType 69085 non-null object ga:landingpagePath 69085 non-null object ga:deviceCategory 69085 non-null object ga:sessions 69085 non-null object ga:goal1Completions 69085 non-null object ga:bounces 69085 non-null object dtypes: object(10) memory usage: 5.3+ MB 一切都是一个对象,我期望它是字符串和数字的某种组合。这是头: sessions1DF.head() Out[13]: ga:date ga:hour ... ga:goal1Completions ga:bounces 0 20180605 18 ... 0 0 1 20180605 18 ... 0 1 2 20180605 18 ... 0 0 3 20180605 18 ... 0 1 4 20180605 18 ... 0 0 [5 rows x 10 columns] (我希望我知道如何强制 pandas head() 向我展示所有功能,而不仅仅是上面向我展示的 4 个功能)。 sessions1DF 实际上有一个名为“dimension1”的字段,它应该是一个字符串,我想将它与另一个数据框session2DF 连接起来,它们共享相同的字段“dimension1”。所以我想加入他们的维度1。 我的 pandas 数据框有“问题”吗?有没有办法“提取”所有对象作为其中的实际数据?据推测,我的数据帧不是正常格式,其中每个字段只是一个数据向量。 有没有办法改变我的数据框,这样如果我输入sessions1DF.info()我会得到类似于顶部粘贴的结果,每列都是字符串、整数等而不是对象? 您看到的问题可能与您将数据读入数据帧的方式有关。假设您使用其中一种 pandas 阅读器,例如 csv 阅读器: import pandas as pd df = pd.read_csv('some_file.csv') 您的文件中可能包含以下一个或多个条件: 代表缺失值的字符串 多个页眉或页脚,其中该列中的类型为非数字。 表格中间的奇怪行破坏了类型推断。 pandas 阅读器(或任何尝试解析分隔数据并动态找出数据类型的读取)必须查看一列中的数据并问自己“此列中的所有内容都是数字吗?”如果是这样,则将类型转换为数字(int 或 float)。如果解析器/读取器在列中看到不是数字的字符串,则整个列将被转换为“对象”而不是 int 或 float。 要探索这种可能性,您可以使用文本编辑器(notepad++、Visual Studio Code 等)打开文本文件并目视检查结构。 如果文件太大而无法直观地打开和扫描(69,000 行并不算大),您可以尝试使用 pandas reader 功能的各种选项。要查看这些内容,请尝试输入以下内容: pd.read_csv? 查看所有可用选项。例如,您可能只想尝试读取前 n 行,或者尝试跳过顶部的几行,或者指定表示缺失值的字符,以便它知道在检查类型时跳过该字符。 您甚至可以将每列数据类型传递给读取,以便它“知道”哪些列是数字,哪些是字符串,哪些是日期时间等。 此外,在 pandas 中,您可以控制选项,以便在查看数据框时,您可以看到所有列,而不是 ... 指示,请参阅 pandas 网站上的 pandas.options.display 。 熊猫选项 样品: df = pd.DataFrame({'strings':['a','d','f'], 'dicts':[{'a':4}, {'c':8}, {'e':9}], 'lists':[[4,8],[7,8],[3]], 'tuples':[(4,8),(7,8),(3,)], 'sets':[set([1,8]), set([7,3]), set([0,1])] }) print (df) dicts lists sets strings tuples 0 {'a': 4} [4, 8] {8, 1} a (4, 8) 1 {'c': 8} [7, 8] {3, 7} d (7, 8) 2 {'e': 9} [3] {0, 1} f (3,) 所有值都相同 dtypes: print (df.dtypes) dicts object lists object sets object strings object tuples object dtype: object 但是type不一样,如果需要循环检查: for col in df: print (df[col].apply(type)) 0 <class 'dict'> 1 <class 'dict'> 2 <class 'dict'> Name: dicts, dtype: object 0 <class 'list'> 1 <class 'list'> 2 <class 'list'> Name: lists, dtype: object 0 <class 'set'> 1 <class 'set'> 2 <class 'set'> Name: sets, dtype: object 0 <class 'str'> 1 <class 'str'> 2 <class 'str'> Name: strings, dtype: object 0 <class 'tuple'> 1 <class 'tuple'> 2 <class 'tuple'> Name: tuples, dtype: object 或列的第一个值: print (type(df['strings'].iat[0])) <class 'str'> print (type(df['dicts'].iat[0])) <class 'dict'> print (type(df['lists'].iat[0])) <class 'list'> print (type(df['tuples'].iat[0])) <class 'tuple'> print (type(df['sets'].iat[0])) <class 'set'> 或通过applymap: print (df.applymap(type)) strings dicts lists tuples \ 0 <class 'str'> <class 'dict'> <class 'list'> <class 'tuple'> 1 <class 'str'> <class 'dict'> <class 'list'> <class 'tuple'> 2 <class 'str'> <class 'dict'> <class 'list'> <class 'tuple'> sets 0 <class 'set'> 1 <class 'set'> 2 <class 'set'> 如果我们在一列或多个标题/值等中有一些不同的数据类型,我们将数据类型作为对象获取。这里的对象意味着它可以接受任何类型的值。处理完这些事情后,我们就得到了正确的数据类型。

回答 3 投票 0

熊猫 get_dummies 改变形状

我想对 Pandas 数据帧的分类特征进行一次性编码。以前,值存储形状为 (60,) 的变量。参见下面的代码: ohe_features = ["性别","已婚&q...

回答 1 投票 0

Python/Pandas:在多个分组的 pandas 列中的一列中随机排列数据

我正在尝试使用 pandas 和 numpy 来对数据框中同一组内的数据进行洗牌(将 4 列分组在一起),如下所示。 分组的列是 ID、值、来源、类型和功能。我...

回答 1 投票 0

如何为大型 Pandas 数据框生成嵌入?

我在为数据集生成嵌入时遇到问题。它由大约 16 000 000 条 reddit 评论组成(它们的正文 + 一些可以忽略不计的元数据)。我将它们存储为 CSV 文件,我从中

回答 1 投票 0

如何根据条件删除 pandas 中的前 n 行,保持数据帧的其余部分完好无损

当我不知道有多少行时,如何根据 pandas 数据框中第一个数据行的条件删除前 n 行,而使数据框的其余部分保持不变? 比如说,我想放弃所有第一个 n r...

回答 1 投票 0

Dask 保姆内存错误 - Worker 太慢而无法终止

我正在尝试使用 Dask 打开一个 jsonl 文件,当我第一次运行该程序时,我收到一条警告,称工作人员使用的内存超出了分配的内存,最终保姆试图终止该工作...

回答 1 投票 0

我需要帮助在 pandas Dataframe 上搜索值列表,然后分隔找到值的行

我希望实现什么: 我想知道在 pandas Dataframe 中查找列表的任何值,然后分隔找到该值的行的最佳方法是什么。 这是我尝试过的...

回答 1 投票 0

当与另一个字符串列表匹配时从一列中提取字符串以创建新列

我有一个数据框: A_1 AB546-RT GTY 3 BYU345 456 2 AB546 HYT 1 BYU345 BWER 34 并且,搜索列表为 [546, 345]。如果字符串有任意数量的搜索列表,则提取整个字符串...

回答 1 投票 0

有没有更好的方法来合并多个数据帧

我已经成功制作了一个数据表,以解决我最后一个没有得到答复的问题。我仍然想知道是否有更好的方法。 例如,如果我导入所有列怎么办?

回答 1 投票 0

传递值的形状为 (3, 2),索引意味着 (6, 2)

Quiero sacar el valor de chi cuadrado y el valor p, resultados = pd.DataFrame(np.array([chi_valores[:3], p_valores[:3]]).T, 索引 = ['Adicciones / sme y sm', 'Alimentacion / sme y sm', 'Ansiedad / ...

回答 1 投票 0

尝试在单个 pyspark 数据帧中进行多个连接

在不涉及太多细节的情况下,我试图将一堆行合并到一个条目中。我在下面简化了“源”和“目标”数据框。 来源DF: 我...

回答 1 投票 0

pandas_ta EMA 50 尽管与 200 个值一起使用,但仍返回 None

我使用以下代码访问 Binance API,拉取 BTC/USDT 的最后 200 个 k 线,然后尝试生成 EMA 50 作为数据框中的一列: 客户端 = 客户端('PUBLIC_KEY', 'PRIVATE_K...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.