熊猫:挑选符合条件的人后重新索引
Posted
技术标签:
【中文标题】熊猫:挑选符合条件的人后重新索引【英文标题】:Pandas: Re-indexing after picking those that meet a condition 【发布时间】:2022-01-21 08:31:23 【问题描述】:我正在尝试了解有关重新索引的更多信息。
对于背景上下文,我有一个名为 sleep_cycle 的数据框。 在此数据框中,列是:姓名、年龄、平均睡眠时间。
我只想挑选那些名字以字母“B”开头的人。 然后我想重新索引这些“B”人,这样我就有了一个新的数据框,它具有相同的列,但只有那些名字以 B 开头的人。
这是我的尝试:
info = list(sleep_cycle.columns) #this is just to set a list of the existing columns
b_names = [name for name in sleep_cycle['name'] if name[0] == 'B']
b_sleep_cycle = sleep_cycle.reindex(b_names, columns = info) #re-index with the 'B' people, and set columns to the list I saved earlier.
结果:重新索引成功,成功挑选出仅以字母“B”开头的那些,并且列保持不变。伟大的!问题是:所有数据都被替换为 NaN。
有人可以帮我解决这个问题吗?我究竟做错了什么?如果您能提出一个仅在一行代码中的解决方案,我们将不胜感激。
【问题讨论】:
请在minimal reproducible example 中包含一个简短的示例数据框和您的预期输出。 您的问题似乎是关于行的条件过滤,而不是重新索引。 【参考方案1】:根据您的描述(示例数据和预期输出会更好),这会起作用:
sleep_cycle[sleep_cycle['name'].str.startswith['B']]
【讨论】:
以上是关于熊猫:挑选符合条件的人后重新索引的主要内容,如果未能解决你的问题,请参考以下文章