pandas 对list进行分组
时间: 2023-08-19 10:07:23 浏览: 21
可以使用 pandas 的 `groupby` 方法来对 list 进行分组。
首先,需要将 list 转换为 pandas 的 Series 对象,然后使用 `groupby` 方法进行分组。下面是一个示例代码:
```python
import pandas as pd
# 示例 list
my_list = ['apple', 'banana', 'apple', 'banana', 'orange']
# 将 list 转换为 Series 对象
series = pd.Series(my_list)
# 使用 groupby 方法进行分组
groups = series.groupby(series)
# 打印分组结果
for name, group in groups:
print(name)
print(group)
```
运行以上代码,将会按照 list 中的元素进行分组,并打印每个分组的名称和对应的元素。
注意:在使用 pandas 进行分组时,需要先将 list 转换为 Series 对象,以便使用 pandas 提供的功能。
相关问题
pandas分组查询
以下是使用pandas进行分组查询的例子:
1. 读取Excel文件并按班级分组,计算每个班级的总分
```python
import pandas as pd
# 读取Excel文件
df_1 = pd.read_excel('分组.xlsx', sheet_name=0, dtype=str, keep_default_na='')
# 按班级分组
a = df_1.groupby('班级')
# 计算每个班级的总分
for i in range(1, 4):
data = a.get_group(str(i)).values.tolist()
sum_ = [float(s[2]) for s in data]
print(i, "班级,总分是", sum(sum_))
```
2. 读取Excel文件并按班级分组,查询每个班级的内容
```python
import pandas as pd
# 读取Excel文件
df_1 = pd.read_excel('分组.xlsx', sheet_name=0, dtype=str, keep_default_na='')
# 按班级分组
a = df_1.groupby('班级')
# 查询每个班级的内容
for i in range(1, 4):
data = a.get_group(str(i)).values.tolist()
print(i, "班级的内容是", data)
```
pandas 分组求和补齐
pandas的分组求和补齐可以通过以下步骤实现:
1. 首先,创建一个全为0的DataFrame,并将列索引设置为电影的分类。这可以使用`pd.DataFrame`函数和numpy的`zeros`函数来实现。
2. 接下来,对电影的分类进行字符串分割,并获取唯一的分类列表。这可以使用列表推导式和numpy的`unique`函数来实现。
3. 然后,使用`groupby`函数将DataFrame按照电影的分类进行分组。
4. 对每个分组,使用`sum`函数求和。
5. 使用`reindex`函数将求和结果补齐到原始的分类列表长度。这样可以确保每个分类都有对应的求和结果。
下面是一个示例代码:
```
# 创建一个全为0的DataFrame,列索引为电影的分类
temp_df = pd.DataFrame(np.zeros([df.shape<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Python学习笔记之pandas索引列、过滤、分组、求和功能示例](https://download.csdn.net/download/weixin_38709816/12862890)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [六、Pandas高级处理(缺失值、离散化、合并、交叉表与透视表、分组和聚合)](https://blog.csdn.net/u012441595/article/details/121940461)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
相关推荐














