擅长:python、mysql、java
<p>您还可以计算和合并数据帧</p>
<pre><code>import pandas as pd
data = {
"Fund": ["1000", "1000", "2000", "2000", "3000", "3000", "4000", "4000"],
"State": ["AL", "AL", "FL", "FL", "AL", "AL", "NC", "NC"],
"Compensation": [2000, 2500, 1500, 1750, 4000, 3200, 1450, 3000],
}
# Create dataframe from dictionary provided
df = pd.DataFrame.from_dict(data)
# first group compensation by state and fund
df_fund = df.groupby(["Fund", "State"]).Compensation.sum().reset_index()
# Calculate Total by state in new df
df_total = df_fund.groupby("State").Compensation.sum().reset_index()
# Merge dataframes with total column
merged = df_fund.merge(df_total, how="outer", left_on="State", right_on="State")
#Add percentage col to merged dataframe.
merged["percentage"] = merged["Compensation_x"] / merged["Compensation_y"] * 100
</code></pre>