in Pandasas_index
中groupby
in的功能到底是什么?
print()
当你什么都不懂的时候是你的朋友。它清除了很多次疑问。
看一看:
import pandas as pd
df = pd.DataFrame(data={'books':['bk1','bk1','bk1','bk2','bk2','bk3'], 'price': [12,12,12,15,15,17]})
print(df)
print(df.groupby('books', as_index=True).sum())
print(df.groupby('books', as_index=False).sum())
输出:
books price
0 bk1 12
1 bk1 12
2 bk1 12
3 bk2 15
4 bk2 15
5 bk3 17
price
books
bk1 36
bk2 30
bk3 17
books price
0 bk1 36
1 bk2 30
2 bk3 17
当as_index=True
您使用的键groupby()
将成为新数据框中的索引时。
将列设置为索引时,将获得以下好处:
速度。 当您基于索引列过滤值时,例如 df.loc['bk1']
,因为索引列的散列会更快。不必遍历整个books
列即可找到'bk1'
。它将只计算的哈希值,'bk1'
并在1 go内找到它。
缓解。 当as_index=True
您可以使用df.loc['bk1']
较短和较快的语法,而不是df.loc[df.books=='bk1']
较长和较慢的语法时。
问题内容: 我有一个包含以下信息的数据框: 我想根据索引插入数据帧中的值, 但仅在每个文件组中 。 插值,我通常会做 和我一起做 我希望插入的数据帧看起来像这样: NaN仍然存在于t = 6的位置,因为它们是file2组中的第一项。 我怀疑我需要使用“应用”,但是还无法确切地知道如何… 任何帮助,将不胜感激。 问题答案:
问题内容: 我正在尝试使用具有相似列值的行来估算值。 例如,我有这个数据框 我想使用相似的列[‘one’]和[‘two’]的键,并且如果列[‘three’]并非完全是nan,则从具有相似的键的行中插值[ ‘3’] 这是我的愿望结果 您会看到键1和3不包含任何值,因为现有值不存在。 我试过使用groupby fillna() 这给了我一个错误。 我尝试了正向填充,这给了我一个相当奇怪的结果,那就是它
问题内容: 我经常使用pandas groupby生成堆积表。但是然后我经常想将生成的嵌套关系输出到json。有什么方法可以从生成的堆叠表中提取嵌套的json文件吗? 假设我有一个df,例如: 我可以: 美丽!当然,我真正想做的是通过命令沿着grouped.to_json嵌套嵌套的json。但是该功能不可用。任何解决方法? 所以,我真正想要的是这样的: 唐 问题答案: 我认为熊猫没有内置任何东西可
问题内容: 我在csv文件中有这样的数据 我可以像这样阅读和分组 我懂了 我希望这个(顺序无所谓) 我想知道是否有可能算零次 问题答案: 你可以用与: 如果您需要使用输出:
我必须根据以下col1、col2和loc的数据进行分组,并计算col3中的项数。此外,还应考虑开始和结束日期,即日期应在2021 1月1日至2021 1月31日之间。最终结果应显示在col4中。 数据 预期输出
问题内容: 我在pandas中有一个数据框,我试图找出其值的类型。我不确定column的类型是什么。但是,当我跑步时,我得到了; 这是什么意思? 问题答案: 它的意思是: 来源。 第一个字符指定数据的类型,其余字符指定每个项目的字节数,Unicode除外,Unicode将其解释为字符数。项目大小必须与现有类型相对应,否则将引发错误。支持的类型为现有类型,否则将引发错误。支持的种类有: