Pandas中xs()函数:SyntaxError: can‘t assign to function call

Posted Data+Science+Insight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas中xs()函数:SyntaxError: can‘t assign to function call相关的知识,希望对你有一定的参考价值。

Pandas中xs()函数:SyntaxError: can't assign to function call

目录

Pandas中xs()函数:SyntaxError: can't assign to function call

#xs()函数

#仿真数据

#问题及解决

#完整错误


#xs()函数

Pandas Series.xs()函数从Series /DataFrame返回给定键值的横截面。

用法:xs(key, axis=0, level=None, drop_level=True)

参数:
key:标签包含在索引中,或部分包含在MultiIndex中。
axis:在其上检索横截面的轴。
level:如果 key 部分包含在MultiIndex中,请指明使用了哪些级别。可以通过标签或位置引用级别。
drop_level:如果为False,则返回与self具有相同级别的对象。

#仿真数据

import pandas as pd
import numpy as np
arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
          ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]
idx_row = pd.MultiIndex.from_arrays(arrays, names=['Row_First', 'Row_Second'])
idx_col = pd.MultiIndex.from_product([['A','B'], ['i', 'ii']], names=['Col_First','Col_Second'])
df = pd.DataFrame(np.random.randn(8,4), index=idx_row, columns=idx_col)
df

#问题及解决

XS函数只用于复合索引的数据筛选,没有赋值功能,所以会发生错误;

df.xs('ii', level='Col_Second', axis=1) = 0

#完整错误

  File "<ipython-input-54-db34eab6038b>", line 1
    df.xs('ii', level='Col_Second', axis=1) = 0
                                               ^
SyntaxError: can't assign to function call

参考:pandas

参考:SyntaxError: can't assign to function call

以上是关于Pandas中xs()函数:SyntaxError: can‘t assign to function call的主要内容,如果未能解决你的问题,请参考以下文章

带有 MultiIndex Pandas 面板的切片函数

pandas读取csv数据header参数指定作为列索引的行索引列表形成复合(多层)列索引使用xs函数获取行切面数据(level参数指定行层索引列表key参数指定索引值列表)

pandas读取csv数据参数指定作为行索引的数据列索引列表形成复合(多层)行索引使用xs函数获取列切面数据(axis参数指定对列进行切面level参数指定列层索引名称key参数指定索引值)

pandas读取csv数据参数指定作为行索引的数据列索引列表形成复合(多层)行索引使用xs函数获取列切面数据(axis参数指定对列进行切面level参数指定列层索引名称key参数指定索引值)

使用 pandas xs 功能进行多列选择失败

Pandas read_csv 转换器 – 如何处理异常 (literal_eval SyntaxError)