【发布时间】:2019-06-27 03:39:54
【问题描述】:
我希望根据条件对数据框列中的行进行切片 - 我知道我可以使用 .loc 根据给定条件为我的 df 列中的行分配特定值,但是我需要该条件来确定要切片多少.
例如,如果行以 'A' 开头,我想要前 6 个字符 ([:6]),而如果它以 'B' 开头,我希望它有前 8 个字符 ([:8 ])。
我这样做是为了在使用 pd.merge() 与另一个数据帧执行内部连接之前将数据转换为正确的格式
.loc。我可以使用 df.loc[df['column'][:1] == 'A'],但它没有给我满足条件的行的索引。我能想到的最佳解决方案是创建一个包含所有满足条件的索引的列表,然后逐行操作。有没有更好的方法来做到这一点?
【问题讨论】:
-
您介意提供一个带有表格的简短代码示例来显示您正在寻找的结果吗?你的措辞让人有点难以理解你在问什么。