首页 > 解决方案 > 如何将标题添加到更大数据框中的选定数据?

问题描述

我正在学习熊猫,我有一个需要过滤的 DataFrame(来自 CSV)。原始 DataFrame 如下所示:

+----------+-----------+-------------+
| Header1  |  Header2  |   Header3   |
| Value 1  |  A        |      B      |
| Value 1  |  A        |      B      |
| Value 2  |  C        |      D      |
| Value 1  |  A        |      B      |
| Value 3  |  B        |      E      |
| Value 3  |  B        |      E      |
| Value 2  |  C        |      D      |
+----------+-----------+-------------+

然后,我使用以下代码选择新数据:

dataframe.header1.value_counts()

输出:

Value 1 -- 3
Value 2 -- 2
Value 3 -- 2
dtype: int64

所以,我需要在这个选择中添加标题并输出类似这样的内容

Values     Count
Value 1 -- 3
Value 2 -- 2
Value 3 -- 2

标签: pandascsvdataframedatatables

解决方案


pd.Series.value_counts返回一个系列,其中索引是调用该方法的系列中的所有唯一值。reset_index是您想要使其成为的内容DataFrame,我们可以使用这些rename方法来正确获取列标签。

(df.Header1.value_counts()
   .rename('Count')        # Series name becomes column label for counts
   .rename_axis('Values')  # Index name becomes column label for unique values.
   .reset_index()          # Series -> DataFrame
)

#    Values  Count
#0  Value_1      3
#1  Value_2      2
#2  Value_3      2

推荐阅读