熊猫数据框中整列的子字符串

新手上路,请多包涵

我有一个熊猫数据框“df”。在这个数据框中,我有多个列,我必须对其中一列进行子字符串化。假设列名是“col”。我可以像下面这样运行一个“for”循环并为该列添加子字符串:

 for i in range(0,len(df)):
  df.iloc[i].col = df.iloc[i].col[:9]

但我想知道,如果有一个选项我不必使用“for”循环,而是直接使用属性来完成。我有大量数据,如果我这样做,数据将占用一个很长的过程。

原文由 thenakulchawla 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 428
2 个回答

使用带有方括号的 str 访问器:

 df['col'] = df['col'].str[:9]

或者 str.slice

 df['col'] = df['col'].str.slice(0, 9)

原文由 ayhan 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果该列不是字符串,请使用 astype 进行转换:

 df['col'] = df['col'].astype(str).str[:9]

原文由 Elton da Mata 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题