Python 如何使用np.arange将级数除以级数类型

Python 如何使用np.arange将级数除以级数类型,python,pandas,Python,Pandas,我想做的是我上传的png插图,主要有两列,其中有数字。带星号的代码告诉我类和“平方英里”。百分比列更难获取。我将序列号数组除以该列的总序列,但没有成功。这个部门如何才能完成 Total = ca_land.get("SquareMiles") Total1 = Total.sum() percent = np.arange(Total/Total1) * ca_classess = ca_land.groupby('Class').sum() ca_classes = ca_classes

我想做的是我上传的png插图,主要有两列,其中有数字。带星号的代码告诉我类和“平方英里”。百分比列更难获取。我将序列号数组除以该列的总序列,但没有成功。这个部门如何才能完成

Total = ca_land.get("SquareMiles")
Total1 = Total.sum()

percent = np.arange(Total/Total1)

* ca_classess = ca_land.groupby('Class').sum()

ca_classes = ca_classess.assign(
    Percentage = percent

)

样本数据:

{'Class': {52: 'Forest & Woodland',   126: 'Forest & Woodland',   128: 'Forest & Woodland',   131: 'Forest & Woodland',   133: 'Forest & Woodland'},  'EcologicalSystem': {52: 'East Gulf Coastal Plain Near-Coast Pine Flatwoods - Open Understory Modifier',   126: 'California Central Valley Mixed Oak Savanna',   128: 'California Coastal Closed-Cone Conifer Forest and Woodland',   131: 'California Coastal Live Oak Woodland and Savanna',   133: 'California Lower Montane Blue Oak-Foothill Pine Woodland and Savanna'},  'SquareMiles': {52: 0.03266424261286,   126: 4350.262402786333,   128:
85.94309723386156,   131: 1726.1481557315549,   133: 6587.099312156705}}

我认为在聚合
总和之后,有必要对
平方英里
列进行划分:

d = {'Class': {52: 'Forest & Woodland1', 126: 'Forest & Woodland1', 128: 'Forest & Woodland1', 131: 'Forest & Woodland', 133: 'Forest & Woodland'}, 'EcologicalSystem': {52: 'East Gulf Coastal Plain Near-Coast Pine Flatwoods - Open Understory Modifier', 126: 'California Central Valley Mixed Oak Savanna', 128: 'California Coastal Closed-Cone Conifer Forest and Woodland', 131: 'California Coastal Live Oak Woodland and Savanna', 133: 'California Lower Montane Blue Oak-Foothill Pine Woodland and Savanna'}, 'SquareMiles': {52: 0.03266424261286, 126: 4350.262402786333, 128: 85.94309723386156, 131: 1726.1481557315549, 133: 6587.099312156705}}
ca_land = pd.DataFrame(d)

或不带赋值的解决方案更易于阅读:

ca_classes = ca_land.groupby('Class').sum()
ca_classes['Percentage'] =  ca_classes['SquareMiles'] / ca_land['SquareMiles'].sum()
print (ca_classes)
                    SquareMiles  Percentage
Class                                      
Forest & Woodland   8313.247468    0.652046
Forest & Woodland1  4436.238164    0.347954

你能提供样本数据吗?你能分享一个吗?变量名和函数名应在带有下划线的
小写字母后面
style.df.head()。to_dict()AttributeError:“DataFrame”对象没有属性“head”。该错误消息非常奇怪。您究竟是如何创建df的?
type(df)
的输出是什么?修复了错误消息
ca_classes = ca_land.groupby('Class').sum()
ca_classes['Percentage'] =  ca_classes['SquareMiles'] / ca_land['SquareMiles'].sum()
print (ca_classes)
                    SquareMiles  Percentage
Class                                      
Forest & Woodland   8313.247468    0.652046
Forest & Woodland1  4436.238164    0.347954