Python 计算值并创建新的数据帧

Python 计算值并创建新的数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个如下所示的数据帧: df Daily Risk Score 0 13.0 1 10.0 2 25.0 3 7.0 4 18.0 ... ... 672 14.0 673 9.0 674 15.0 675 6.0 676 13.0 df1 Green Orange Red x y z 我想计算值为0的次数在此代码末尾使用.groupby和.transpose df1 = pd.cut(df['Daily Risk Score'],

我有一个如下所示的数据帧:

df
    Daily Risk Score
0   13.0
1   10.0
2   25.0
3   7.0
4   18.0
... ...
672 14.0
673 9.0
674 15.0
675 6.0
676 13.0
df1
Green   Orange   Red
x   y   z

我想计算值为0的次数在此代码末尾使用
.groupby
.transpose

df1 = pd.cut(df['Daily Risk Score'],
             bins=[0, 9, 17, np.inf],
             labels=['Green','Orange','Red']).reset_index(). \
             groupby('Daily Risk Score').count().transpose()
df1
输出:

 Daily Risk Score   Green   Orange  Red
 index              3       4       2
尝试:

df1:

          Daily Risk Score
Green     3
Orange    5
Red       2
dtype: int64
    Green   Orange  Red
1   3       5       2

df2:

          Daily Risk Score
Green     3
Orange    5
Red       2
dtype: int64
    Green   Orange  Red
1   3       5       2

我尝试了一种不同的方法。这也很容易。尝试一下,如果您遇到任何问题/错误,请告诉我。 给你:

df["col"] = 0
for i in range(len(df)):
    if 0<df["Daily Risk Score"][i]<9:
        df["col"][i] = "0<Daily Risk Score<9"
    elif 9<df["Daily Risk Score"][i]<17:
        df["col"][i] = "9<Daily Risk Score<17"
    elif 9<df["Daily Risk Score"][i]<17:
        df["col"][i] = "Daily Risk Score>=17"
    else:
        df["col"][i] = "other"
df["col"].value_counts()
df.drop(columns=["col"])
df[“col”]=0
对于范围内的i(len(df)):
如果0
df["col"] = 0
for i in range(len(df)):
    if 0<df["Daily Risk Score"][i]<9:
        df["col"][i] = "0<Daily Risk Score<9"
    elif 9<df["Daily Risk Score"][i]<17:
        df["col"][i] = "9<Daily Risk Score<17"
    elif 9<df["Daily Risk Score"][i]<17:
        df["col"][i] = "Daily Risk Score>=17"
    else:
        df["col"][i] = "other"
df["col"].value_counts()
df.drop(columns=["col"])