在'测向尺寸()函数?

2024-10-05 14:21:24 发布

您现在位置:Python中文网/ 问答频道 /正文

在pandas模块中执行了如下所示的df.size()函数(df = Dataframe)之后,我在标记为No.的列旁边获得了一个新列。但是,我不知道如何操作这个新列。这是因为我不知道此列的标签/键。你知道吗

例如,我想将生成的值(在新列中)表示为新列中所有这些值总和的一部分。我怎么能这么做?你知道吗

JuncNo = pd.read_csv(filename)
JuncNo_group = JuncNo.groupby('No.')
JuncSize = JuncNo_group.size()
JuncSize.head(n=6)
No.
1   122
2  2136 
3   561
4    91
5    10
6     3
dtype: int64

Tags: 模块函数no标记dataframepandasdfread
1条回答
网友
1楼 · 发布于 2024-10-05 14:21:24

必须设置新系列的名称并重置索引:

JuncSize = JuncSize.groupby('No').size()
JuncSize.name = 'size'
JuncSize = JuncSize.reset_index()
print JuncSize

但如果需要添加与原始数据帧行数相同的新列,则可以使用:

JuncSize['size'] = JuncSize.groupby('No').transform(np.size)

示例:

print JuncSize
  No Code
0  D   B2
1  B   B2
2  B   B3
3  B   B3
4  G   B3
5  B   B3

JuncSize['size'] = JuncSize.groupby('No').transform(np.size)
print JuncSize
  No Code size
0  D   B2    1
1  B   B2    4
2  B   B3    4
3  B   B3    4
4  G   B3    1
5  B   B3    4
JuncSize = JuncSize.groupby('No').size()
print JuncSize
No
B    4
D    1
G    1
JuncSize.name = 'size'
print JuncSize
No
B    4
D    1
G    1
Name: size, dtype: int64

JuncSize = JuncSize.reset_index()
print JuncSize
  No  size
0  B     4
1  D     1
2  G     1

相关问题 更多 >