多级索引(MultiIndex)是处理多维面板数据的核心利器,其性能优化直接影响海量数据分析效率: python # 构建多层索引 cities = ['北京', '上海', '广州'] years = [2023, 2024] metrics = ['销售额', '成本'] index = pd.MultiIndex.from_product([cities, years, metrics], names=['城市', '年份', '指...
df.columns = pd.Series(df.columns.str.replace("$", "")) Run Code Online (Sandbox Code Playgroud)oxe*_*xer 8 请注意,这些方法不适用于MultiIndex.对于MultiIndex,您需要执行以下操作: >>> df = pd.DataFrame({('$a','$x'):[1,2], ('$b','$y'): [3,4], ('e','f'):[5,6]}...
MultiIndex,多维索引,用于groupby多维聚合后结果等; DatetimeIndex,时间类型索引,强大的日期和时间的方法支持。 13. Pandas的Merge语法 pd.merge( left: DataFrame | Series, right: DataFrame | Series, how: str = "inner", on: IndexLabel | None = None, left_on: IndexLabel | None = None,...
col_level [int或string, 可选]:如果列为MultiIndex, 它将使用此级别来融化 例如有一串数据,表示不同城市和每天的人口流动: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 In [119]: df = pd.DataFrame({'city': {0: 'a', 1: 'b', 2: 'c'}, ...: 'day1': {0: 1, 1: 3, 2: ...
df.filter(regex='S$', axis=1)#正则方式进行筛选 第八部分 数据转换 第一节 rename和replace的转换标签个元素 #改变行列索引 df2.rename(index = {0:10,1:11},columns={'Name':'StName'})#将行索引0换为10,1换为11;列索引Name换为StName ...
df.filter(items=['Q1', 'Q2']) # 选择两列 df.filter(regex='Q', axis=1) # 列名包含Q的...
MultiIndex.from_arrays 用数组构建层次化索引 .swaplevel 重排层次化索引分级顺序 .sortlevel 根据单个级别的值对数据排序 .set_index(drop=) 将某一列转为行索引 .reset_index 将行索引转为列 .irow 根据整数位置选取行 .icol 根据整数位置选取列 pd.Panel 创建面板数据 ...
2 b 3 <NA> 4 dtype: string In [50]: s4.str.replace(".", "a", regex=True) Out[50]: 0 aaa 1 a 2 a 3 <NA> 4 dtype: string 如果您想要对字符串进行字面替换(相当于str.replace()),您可以将可选的regex参数设置为False,而不是转义每个字符。在这种情况下,pat和repl都必须是字符串: ...
extractall方法返回每个匹配项。extractall的结果始终是一个具有行上的MultiIndex的 DataFrame。MultiIndex的最后一级命名为match,表示主题中的顺序。 In [121]: s.str.extractall(two_groups)Out[121]:letter digitmatchA 0 a 11 a 2B 0 b 1C 0 c 1 ...
level: 如果轴是多级索引(MultiIndex),则指定要重命名的级别。 errors: 如何处理未找到的键。'ignore'(默认)表示忽略未找到的键,'raise'表示抛出异常。 data3 = { '语文': [0, 9, 2, 5], '数学': [6, 8, 3, 8], '英语': [4, 4, 5, 5] ...