Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 从5个数字的值中获取前2个数字,并在表中的新列中输入_Python 3.x_Pandas_Slice_Pandas Groupby - Fatal编程技术网

Python 3.x 从5个数字的值中获取前2个数字,并在表中的新列中输入

Python 3.x 从5个数字的值中获取前2个数字,并在表中的新列中输入,python-3.x,pandas,slice,pandas-groupby,Python 3.x,Pandas,Slice,Pandas Groupby,我已经寻找了几个小时来解决这个问题: 我想对由5个数字(整数)组成的列进行排序。 然后我想用这个值的前两个数字来分组。 然后我要计算分组数 有没有一个简单的方法可以做到这一点? 我用它来计算: print(worksheet['postalcolumn'].value_counts()) 后柱状物为74660、745667、78320、71345 我想要一个像74、74、78、71这样的新列,将列的数据类型转换为字符串并使用str切片器,您可以使用: worksheet['new_col']=

我已经寻找了几个小时来解决这个问题: 我想对由5个数字(整数)组成的列进行排序。 然后我想用这个值的前两个数字来分组。 然后我要计算分组数

有没有一个简单的方法可以做到这一点? 我用它来计算:

print(worksheet['postalcolumn'].value_counts())
后柱状物为74660、745667、78320、71345
我想要一个像74、74、78、71这样的新列,将列的数据类型转换为字符串并使用
str
切片器,您可以使用:

worksheet['new_col']=worksheet['postalcolumn'].astype(str).str[:2].astype(int)

假设
工作表['postalcolumn']
的类型为
列表
,则可以执行以下操作:

worksheet['new_col'] = [] # create an empty new column
for id in worksheet['postalcolumn']:
    first_two = int(str(id)[:2]) # take the first two digits
    worksheet['new_col'].append(first_two) # add the two digits to the new column

谢谢,它工作得很好。我不会想到解决办法。如果我想使用规则/过滤器对记录进行分组,并将其保存到新的Excel文件中,我该怎么做?下面是一个示例:“新列”、“计数”74964671、2570、875、869、476、3规则:如果“新列”-“计数”>=200,则从现有工作表创建一个新工作表。我认为您应该查看df.groupby。然而,这是一个不同的问题。但你应该在这方面找到足够的解决方案。不过,如果您找不到,请随时发布新问题,我们一定会提供帮助。:)干杯