【问题标题】:Remove list type in columns while preserving list structure在保留列表结构的同时删除列中的列表类型
【发布时间】:2019-11-26 19:51:48
【问题描述】:

从我的数据提取方式来看,我有两列在列表中。这可能是一个非常简单的问题,我只是没有找到完全正确的方法来创建我正在寻找的结果。

如果可能的话,我需要“a”列是没有 [] 的字符串,并且“a”列是由列分隔的整数。

我试过这段代码:

df['a'] = df['a'].astype(str)

转换为字符串:但失败并输出:

我需要的输出是:

a                                           b
hbhprecision.com         123,1234,12345,123456
thomsonreuters.com            1234,12345,123456

等等

请帮助并提前非常感谢您!

【问题讨论】:

  • 如果你能提供你的初始表,那真的很有帮助
  • 您想删除c_u 列上的[] 是什么意思?我在示例中没有看到它。我做对了吗,您希望整数分别位于单独的列中吗?最多可以有多少个整数?
  • 可能是df['c_u'] = df['c_u'][0]?

标签: python string pandas list types


【解决方案1】:

对于第一部分,去掉括号 [ ]

df['c_u'].apply(lambda x : x.strip("['").strip("']"))

对于第二部分(假设您也删除了括号),跨列拆分值:

df['tawgs.db_id'].str.split(',',  expand=True)

【讨论】:

  • 如果 'c_u' 不是类型字符串,你知道有一种方法吗?因为 strip 只能应用于字符串?是否还有其他功能可以仅在列表上使用?
  • 当你做 df.dtypes 时你对 c_u 有什么看法
  • 还有 - 为什么不简单地将其转换为字符串? df["c_u"]=df["c_u"].astype(str)
  • 如果我在将 c_u 转换为字符串之前这样做,我会收到一个错误,指出系列对象不可调用
  • 我在输出图像链接中将其转换为字符串,但是当我只想要 abc.com 时,这些列会在 'abc.com' 等 url 周围输出单引号。但我想我现在可以删除单引号了吗?
猜你喜欢
  • 2021-03-15
  • 1970-01-01
  • 2012-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-21
  • 2010-09-18
  • 2019-10-03
相关资源
最近更新 更多