我试图在Python中获得table()等效函数(从R)。
我有一张桌子:
+-----+--------+
| Sr | Gender |
+-----+--------+
| 123 | M |
+-----+--------+
| 124 | M |
+-----+--------+
| 126 | M |
+-----+--------+
| 127 | F |
+-----+--------+
| 128 | F |
+-----+--------+
预期输出:
+---+---+
| M | F |
+---+---+
| 3 | 2 |
+---+---+
在R中,可以通过table(df$Gender)
但不确定如何在Python中实现此目标。我已经尝试过crosstab()和ivot_table(),但无法获得确切的语法。
答案 0 :(得分:2)
您可以通过几种方法来完成此操作,具体取决于您想要获得什么:
df = pd.read_clipboard()
In [629]: df.Gender.value_counts()
Out[629]:
M 3
F 2
or
print(pd.value_counts(df['Gender']).to_frame().T.to_string(index=False))
M F
3 2
In [630]: pd.DataFrame(df.Gender.value_counts())
Out[630]:
Gender
M 3
F 2
In [632]: pd.DataFrame(df.Gender.value_counts()).T
Out[632]:
M F
Gender 3 2
或您的确切要求:
In [643]: pd.DataFrame(df.Gender.value_counts()).rename(columns={'Gender': ''}).T
M F
3 2