当前位置: 首页 > 面试题库 >

在pandas / python中,读取存储为字符串的数组

齐元章
2023-03-14
问题内容

我有一个pandas数据框,其中的一列具有作为每个元素的字符串数组。

像这样

  col1 col2
0 120  ['abc', 'def']
1 130  ['ghi', 'klm']

现在,当我使用to_csv将其存储到csv时,看起来还不错。当我使用from_csv读回它时,我似乎回读了。但是当我分析每个单元格中的值时

’[‘’‘’‘a’b’c’,依此类推。因此,从本质上讲,它不是将其读取为数组而是一组字符串。有人可以建议我如何将该字符串转换为数组吗?

我的意思是说数组已经像字符串一样存储了

'[\'abc\',\'def\']'

问题答案:

如其他问题所述,您应literal_eval在此处使用:

from ast import literal_eval
df['col2'] = df['col2'].apply(literal_eval)

实际上:

In [11]: df = pd.DataFrame([[120, '[\'abc\',\'def\']'], [130, '[\'ghi\',\'klm\']']], columns=['A', 'B'])

In [12]: df
Out[12]:
     A              B
0  120  ['abc','def']
1  130  ['ghi','klm']

In [13]: df.loc[0, 'B']  # a string
Out[13]: "['abc','def']"

In [14]: df.B = df.B.apply(literal_eval)

In [15]: df.loc[0, 'B']  # now it's a list
Out[15]: ['abc', 'def']


 类似资料:
  • 问题内容: 我正在编写一个简单的子手程序。我在打开文件,然后将数据存储到数组时遇到困难。我似乎不知道该怎么做。这是针对学校项目的,因此,如果逻辑似乎不必要,请怪男人:) 我有一个包含十个单词的文本文件(words.txt)。它们在文件中,并且每个文件之间都有一行。它们需要导入到数组中。有人愿意帮助一个有抱负的年轻程序员吗?谢谢你提供的所有帮助! 问题答案: 我建议您使用(例如)和(使用构造它,然后

  • 问题内容: 我们如何从文本文件读取数据并将其存储在String变量中? 是否有可能在方法中传递文件名,并且它将返回字符串,即文件中的文本。 我必须导入哪种工具?声明列表会很棒。 问题答案: 这些是必需的进口: 这是一种方法,通过将文件名作为参数传递给它,您可以从文件中进行读取,如下所示:

  • 我有一个通过ORM保存到数据库的对象。对象有一个字符串数组,每个对象的数组长度可以不同。我想知道在db中存储字符串数组的标准做法(例如,我是否应该将所有字符串存储在一个字段中作为csv等)?

  • 问题内容: 像往常一样,我有责任到处寻找溶胶,但无济于事。 mysqli_fetch_assoc(显然)将我的数字存储为字符串。 通常,我不太关心,但是我的站点几乎是100%的ajax,并且它会移动大量数据,因此所有这些json’都开始累加。 如果我只是获取一个列值,则可以进行intval,但是我想获取具有相关列名的整个行。 有没有办法让mysqli_fetch_assoc(和PHP PDO的as

  • 问题内容: 我正在使用Apache POI读取Excel文件。在阅读时,我注意到它将字符串作为浮点值。 如果我的单元格包含1,则它将获取为1.0 我从以前的问题中得到了一些提示,并修改了代码,但float表示仍然保持原样。 如何正确读取字符串和日期的数据? 问题答案: 对评论发表评论 问题是电话 这样做是在要求POI尝试将单元格从当前单元格(例如数字)转换为字符串。尝试执行此转换非常简单,这就是为

  • 我想在一个新变量中存储“UserId”的最后一位数字(这样的UserId是字符串类型)。 我想出了这个,但它是一个很长的df,需要很长时间。关于如何优化/避免循环有什么建议吗?