小编use*_*597的帖子

选择 DataFrame 中的元素

我有一个没有包含信息字符串的列标题的数据框。我想根据每个单元格中的子字符串选择单元格中的部分值,并将这些元素包含在列表中。我发现列出答案的示例引用了数据帧中的单个(命名)列,并且可以轻松地应用 loc/iloc 来获取数据帧的 str 属性

数据框如下所示:

0 A[3,5] A[6,7] C[3,9]
1 B[2,9] A[2,1] B[3,7]
2 B[5,6]   
Run Code Online (Sandbox Code Playgroud)

从数据框中,我想提取括号中包含的所有坐标,这些坐标在列表中列为 A (作为字符串)。结果列表应该是:

[3,5, 6,7, 2,1]
Run Code Online (Sandbox Code Playgroud)

我已从 csv 读取数据并将其包含在数据框中。我尝试了两种方法:首先,构建一个具有相同维度的数据框,并在存在字母 A 的地方用 1 填充它。

其次,我试图在数据框中找到字符串“A”出现的位置,并一次性提取括号之间的部分。在这两种方法中,我都试图使用 loc/iloc 来引用数据帧的列,但得到一个AttributeError: 'DataFrame' object has no attribute 'str'. 我的思考方式是否正确,或者是否有更有效的方式来解决我的问题?

更新:我已经能够将数据帧堆叠成一个系列,并且只剩下包含“A”的值。现在我希望根据括号之间的子字符串来隔离坐标。下面代码的最后一行产生了一个TypeError: 'Series' objects are mutable, thus they cannot be hashed. 如何检索括号中的子字符串?

df = pd.read_csv("FILE.csv", header = None)
df = df.fillna('')

s = df.stack()
s = s[s.str.contains("A")]

s = s[s.str.find("["):s.str.rfind("]")]
Run Code Online (Sandbox Code Playgroud)

dataframe python-3.x pandas

2
推荐指数
1
解决办法
101
查看次数

标签 统计

dataframe ×1

pandas ×1

python-3.x ×1