从《熊猫指南》示例的csv创建了一个数据框: 例如:
cast=pd.read_csv('cast.csv', index_col=none, encoding='utf-8')
cast.head()
title year
0 Macbeth 1913
1 Macbeth 1997
2 Macbeth 1998
3 Macbeth 2006
然后我们这样做
c = casts
c.groupby( [c['year']//10*10, 'type'] ).size().head(8)
由于c数据帧是可变对象,所以我们通过修改年份列 c ['year'] // 10 * 10,然后我们将c ['year'] // 10 * 10作为熊猫系列对象进行分组
问题1: 由于c ['year'] // 10 * 10是序列对象,我们可以使用列名称,也可以将序列数据用作groupby聚合属性?
问题2: 当我们修改c ['year'] // 10 * 10时,我们实际上是修改了c ['year']列值,换句话说,c数据框已被修改。 投射数据框也不会被修改吗?因为c只是cast的别名?
答案 0 :(得分:2)
您有两个问题。
关于您的第一个问题,groupby
接受列名,系列,NumPy数组和列表,可调用项或可能的字典。
关于第二个问题,c
是casts
的别名,可以,但是算术运算会导致返回新的序列。除非您将其分配回去,否则不会对原始文件进行任何修改。