可以使用reset_index()
方法来重置索引,并将多级索引转化为列。然后,通过groupby()
和value_counts()
方法进行分组和计数。最后,使用iterrows()
方法遍历结果,只获取值而不是日期索引。
以下是一个示例代码:
import pandas as pd
# 创建一个多级索引的DataFrame
data = {'日期': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02', '2021-01-03'],
'城市': ['北京', '上海', '北京', '上海', '北京'],
'销售额': [100, 200, 150, 300, 250]}
df = pd.DataFrame(data)
df['日期'] = pd.to_datetime(df['日期'])
df = df.set_index(['日期', '城市'])
# 重置索引并进行分组计数
result = df.reset_index().groupby(['日期', '城市']).size()
# 遍历结果,仅获取值
for index, value in result.iteritems():
print(f'日期:{index[0]}, 城市:{index[1]}, 数量:{value}')
输出结果为:
日期:2021-01-01 00:00:00, 城市:上海, 数量:1
日期:2021-01-01 00:00:00, 城市:北京, 数量:1
日期:2021-01-02 00:00:00, 城市:上海, 数量:1
日期:2021-01-02 00:00:00, 城市:北京, 数量:1
日期:2021-01-03 00:00:00, 城市:北京, 数量:1
上一篇:遍历多级数组
下一篇:遍历多维 PHP 数组