pandas filter用法详解

时间: 2023-05-27 21:01:26 浏览: 44
pandas中提供了多种方法来筛选数据,其中比较常用的是`boolean indexing`和`query`两种方式。 ## Boolean indexing `Boolean indexing`是指使用逻辑条件来筛选数据的方式。在pandas中,我们可以使用`[]`来实现这一操作,使用`[]`内的逻辑表达式可以筛选出符合条件的行。例如: ```python import pandas as pd df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 使用逻辑表达式筛选数据 df_filtered = df[df['A'] > 1] print(df_filtered) ``` 输出结果: ``` A B C 1 2 5 8 2 3 6 9 ``` 上面代码中,`df_filtered = df[df['A'] > 1]`表示筛选出`'A'`列中大于1的行。 ## Query `query`方法是使用类似SQL的方式来筛选数据。在pandas中,我们可以使用`query`方法来实现这一操作。使用`query`方法可以避免写很长的逻辑表达式,增加代码可读性。例如: ```python import pandas as pd df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 使用query方法筛选数据 df_filtered = df.query('A > 1') print(df_filtered) ``` 输出结果: ``` A B C 1 2 5 8 2 3 6 9 ``` 上面代码中,`df_filtered = df.query('A > 1')`表示筛选出`'A'`列中大于1的行。 另外,`query`方法还支持使用外部变量的方式来传递条件。例如: ```python import pandas as pd df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 使用外部变量传递条件 cond = 1 df_filtered = df.query(f'A > {cond}') print(df_filtered) ``` 输出结果: ``` A B C 1 2 5 8 2 3 6 9 ``` 上面代码中,我们使用了`f-string`将变量`cond`插入到了查询条件中。 总的来说,`Boolean indexing`方式比较灵活,可以灵活处理各种复杂的逻辑条件,而`query`方式则更加简单易懂。在实际应用中,我们可以根据具体情况选用不同的方式进行数据筛选。

相关推荐

Pandas是用于数据处理和数据分析的Python库。其中,filter函数是用于筛选数据的常用函数之一。它允许按照指定条件从数据集中筛选特定的行或列。以下是filter函数的用法详解。 ## 语法 filter函数的语法如下: DataFrame.filter(items=None, like=None, regex=None, axis=None) filter函数有四个参数: - items: 指定要筛选的列,可以传递列名的列表或元组。 - like: 通过传递包含特定字符串的字符串,筛选列名。 - regex: 通过传递正则表达式,筛选列名。 - axis: 指定沿着哪个轴筛选。0表示按行筛选,1表示按列筛选。默认值为0。 ## 示例 假设我们有以下的数据: import pandas as pd data = {'name': ['Bobby', 'Alice', 'Cathy', 'Donald', 'Eric', 'Fred'], 'sex': ['M', 'F', 'F', 'M', 'M', 'M'], 'age': [22, 23, 25, 27, 31, 33], 'salary': [2000, 2500, 3000, 3500, 4000, 4500]} df = pd.DataFrame(data) | name | sex | age | salary | |------|-----|-----|--------| | Bobby| M | 22 | 2000 | | Alice| F | 23 | 2500 | | Cathy| F | 25 | 3000 | | Donald| M | 27 | 3500 | | Eric| M | 31 | 4000 | | Fred| M | 33 | 4500 | 现在,我们尝试使用filter函数从数据集中筛选特定的行或列。 ### 筛选行 我们可以使用filter函数,按行筛选数据。 例1. 筛选名字包含'A'的行: df.filter(like='A', axis=0) 输出: | name | sex | age | salary | |------|-----|-----|--------| | Alice| F | 23 | 2500 | 例2. 筛选年龄大于30的行: df.filter(items=['age', 'salary'], axis=1)[df['age']>30] 输出: | age | salary | |-----|--------| | 31 | 4000 | | 33 | 4500 | ### 筛选列 我们还可以使用filter函数,按列筛选数据。 例1. 筛选名字和工资列: df.filter(['name', 'salary']) 输出: | name | salary | |------|--------| | Bobby|2000 | | Alice|2500 | | Cathy|3000 | | Donald|3500 | | Eric |4000 | | Fred |4500 | 例2. 通过正则表达式筛选名字和工资列: df.filter(regex='.*a.*') 输出: | name | salary | |------|--------| | Bobby|2000 | | Cathy|3000 | 以上是使用filter函数进行数据筛选的常见用法。使用filter函数可以方便地对数据集进行列选择或行选择,提高数据处理效率。
### 回答1: Pandas MultiIndex是一种用于在Pandas DataFrame中处理多维数据的工具。它允许您在一个DataFrame中使用多个索引级别,以便更好地组织和分析数据。MultiIndex可以在行和列上使用,使您能够轻松地对数据进行切片、分组和聚合。 MultiIndex的主要特点是它可以将多个索引级别组合在一起,从而形成一个层次结构。每个级别都可以有自己的标签和名称,这使得数据的组织和访问变得更加灵活和方便。 在使用MultiIndex时,您可以使用许多不同的方法来访问和操作数据。例如,您可以使用.loc和.iloc属性来选择特定的行和列,或者使用groupby方法来对数据进行分组和聚合。 总之,Pandas MultiIndex是一个非常强大的工具,可以帮助您更好地组织和分析多维数据。如果您需要处理复杂的数据集,那么MultiIndex是一个非常有用的工具,值得您深入学习和掌握。 ### 回答2: Pandas是一个数据分析常用的工具,MultiIndex是Pandas中处理复杂数据、多级索引的重要功能。在Pandas中,常见的索引方式是单级索引,而MultiIndex则允许我们在一个轴上拥有多个层级的索引。 1.创建MultiIndex索引 可以通过Pandas中的MultiIndex类来创建MultiIndex索引。我们可以将MultiIndex视为一个由元组构成的列表。例如,下面的代码通过二维数组的方式创建了一个双层索引: python import pandas as pd import numpy as np arrays = [np.array(['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux']), np.array(['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two'])] tuples = list(zip(*arrays)) index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second']) print(index) 输出结果为: MultiIndex([('bar', 'one'), ('bar', 'two'), ('baz', 'one'), ('baz', 'two'), ('foo', 'one'), ('foo', 'two'), ('qux', 'one'), ('qux', 'two')], names=['first', 'second']) 2.使用MultiIndex索引 有了MultiIndex索引之后,我们就可以使用它来进行数据的选择和提取。 - 多层级索引的创建 通过将MultiIndex作为DataFrame的索引,我们就可以通过多层级索引来访问DataFrame中的数据。例如,我们可以通过下面的语句创建一个包含随机数据的DataFrame,并以MultiIndex作为该DataFrame的索引: python import pandas as pd import numpy as np arrays = [np.array(['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux']), np.array(['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two'])] index = pd.MultiIndex.from_arrays(arrays, names=('first', 'second')) df = pd.DataFrame(np.random.randn(8, 4), index=index, columns=['A', 'B', 'C', 'D']) print(df) 输出结果为: A B C D first second bar one -1.214380 -0.526019 0.522447 -0.549709 two -0.219676 -1.266149 -1.050014 -0.380561 baz one -0.714797 1.327005 -0.796460 -0.563436 two -0.301347 -2.073073 -0.780802 0.086017 foo one 0.733098 1.153226 -0.512038 -0.111355 two -1.902571 -1.294116 -0.706356 0.742038 qux one -0.861275 -0.557358 -1.058479 -2.117281 two 1.469990 0.111327 1.023728 2.130335 - 数据选择 使用MultiIndex索引时,我们可以通过指定第一层级的标签名和第二层级的标签名来选取数据。例如,下面的代码选择了第一层级索引为'bar'且第二层级索引为'two'的数据: python print(df.loc[('bar', 'two')]) 输出结果为: A -0.219676 B -1.266149 C -1.050014 D -0.380561 Name: (bar, two), dtype: float64 - 列索引 除了行索引之外,MultiIndex还可以作为列索引。例如,下面的代码创建了一个包含MultiIndex作为行索引和列索引的DataFrame: python import pandas as pd import numpy as np arrays = [np.array(['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux']), np.array(['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two'])] tuples = list(zip(*arrays)) index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second']) data = np.random.randn(8, 4) df = pd.DataFrame(data, index=index, columns=[('A', 'foo'), ('A', 'bar'), ('B', 'foo'), ('B', 'qux')]) print(df) 输出结果为: A B foo bar foo qux first second bar one -0.577478 0.242338 1.978065 0.125214 two 0.291272 -2.438773 -1.534891 1.702976 baz one 1.212083 1.277529 0.437934 1.474582 two -1.744299 0.191257 1.607997 1.080287 foo one 0.067381 0.205383 1.600982 0.299079 two -0.154448 0.346428 0.775834 -0.538028 qux one -1.232866 0.110620 -0.815084 2.217145 two -1.391950 -1.013497 -0.310378 0.239469 我们可以通过指定 MultiIndex 索引的方式来访问 DataFrame 中的数据,如下面的代码所示: python print(df.loc[('bar', 'two'), ('A', 'bar')]) 此时输出结果为: -2.438773338782212 3.总结 在Pandas中,MultiIndex是一种非常有用的数据结构,它可以处理复杂的数据结构,具有良好的可扩展性和灵活性。在实际中,我们可以通过 MultiIndex 来进行复杂数据的处理,精确地选取所需的数据,并能够很容易地对数据进行排序、计算和绘图等操作。因此,掌握 MultiIndex 的使用方法,对于进行数据处理和分析的人员来说是非常重要的。 ### 回答3: Pandas是一个高效的数据处理库,它可以方便地处理多维数据。在Pandas中,MultiIndex是一种方便的数据结构,它可以用来处理具有多个层级的索引。 MultiIndex是指Pandas中的一个数据结构,它允许我们在一个轴上具有多个层级的索引。例如,我们可以在一个DataFrame中,同时使用多个属性来作为多个层级的索引。举个例子,假如我们想要处理一个电商平台的销售数据,其中不同的产品可以按照日期、品类、子品类和产品名称进行分类,那么我们就可以使用MultiIndex来进行数据的处理。 多级索引可以通过使用Pandas的Index或MultiIndex对象来创建。从技术上讲,每个层级的MultiIndex都是创建用于管理数据集中某个维度上的标签。MultiIndex可以有两个或两个以上的层级,每个层级有一个标识符,可以是整数或字符串。 要创建一个MultiIndex,我们可以使用Pandas的MultiIndex.from_arrays()、MultiIndex.from_tuples()或MultiIndex.from_product()等方法。以下是一些创建MultiIndex的例子: # 假设有以下数据 data = [['2021-01-01', 'iphone', '6', '64G', 10], ['2021-01-01', 'iphone', '6', '128G', 20], ['2021-01-01', 'iphone', '7', '64G', 30], ['2021-01-01', 'iphone', '7', '128G', 40], ['2021-01-02', 'iphone', '6', '64G', 50], ['2021-01-02', 'iphone', '6', '128G', 60], ['2021-01-02', 'iphone', '7', '64G', 70], ['2021-01-02', 'iphone', '7', '128G', 80]] # 从多个一维数组中创建MultiIndex mi_arrays = pd.MultiIndex.from_arrays([['2021-01-01', '2021-01-01', '2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02', '2021-01-02', '2021-01-02'], ['iphone', 'iphone', 'iphone', 'iphone', 'iphone', 'iphone', 'iphone', 'iphone'], ['6', '6', '7', '7', '6', '6', '7', '7'], ['64G', '128G', '64G', '128G', '64G', '128G', '64G', '128G']], names=['日期', '品牌', '型号', '内存']) # 从元组序列中创建MultiIndex mi_tuples = pd.MultiIndex.from_tuples([('2021-01-01', 'iphone', '6', '64G'), ('2021-01-01', 'iphone', '6', '128G'), ('2021-01-01', 'iphone', '7', '64G'), ('2021-01-01', 'iphone', '7', '128G'), ('2021-01-02', 'iphone', '6', '64G'), ('2021-01-02', 'iphone', '6', '128G'), ('2021-01-02', 'iphone', '7', '64G'), ('2021-01-02', 'iphone', '7', '128G')], names=['日期', '品牌', '型号', '内存']) # 从笛卡尔积中创建MultiIndex mi_product = pd.MultiIndex.from_product([['2021-01-01', '2021-01-02'], ['iphone'], ['6', '7'], ['64G', '128G']], names=['日期', '品牌', '型号', '内存']) 其中,MultiIndex.from_arrays()方法需要传入一个二维数组,每一列都代表一个层级的索引;MultiIndex.from_tuples()需要传入一个元组序列,每个元组代表一个索引坐标;MultiIndex.from_product()需要传入一个可迭代对象序列,每个可迭代对象代表了一个可能的层级所有标签。 在创建MultiIndex之后,我们就可以使用它来对数据进行索引、切片或者分组了。以下是一些基本的操作: # 创建Series对象 s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80], index=mi_tuples) # 使用索引器进行切片 print(s.loc[('2021-01-01', 'iphone', '6', '64G')]) print(s.loc[('2021-01-02', 'iphone', '6')]) print(s.loc[('2021-01-01', 'iphone', '7', slice(None))]) # 使用groupby对数据进行分组 s.groupby(['品牌', '型号']).sum() MultiIndex在Pandas中的使用非常广泛,它可以方便地处理多维数据,并且提供了方便的索引、切片和分组功能。对于需要处理多维数据的应用场景,MultiIndex是一种非常强大的数据结构。
### 回答1: Pandas是Python编程语言的一个开源数据分析和数据处理库。它提供了丰富的数据结构和功能,使得数据分析任务更加简单和高效。而Xmind是一种思维导图工具,可以帮助用户组织和展示复杂概念和信息。 Pandas库结合了NumPy的功能和扩展了更高级的数据结构,最重要的是它的数据结构--Dataframe。Dataframe是一个二维的表格型数据结构,类似于数据库表或Excel中的表格。它提供了各种方法来处理和操纵这些表格数据,包括数据的索引、选择、过滤、排序、分组等。 使用Pandas库可以读取和写入多种数据格式,如CSV、Excel、SQL数据库等。通过Pandas的数据结构,用户可以进行数据清洗和转换,处理缺失数据、重复数据、异常数据等。此外,Pandas还提供了强大的时间序列处理功能,可以进行时间索引、频率转换、滞后、移动窗口等操作。 在数据分析方面,Pandas提供了各种统计计算的方法,如平均值、标准差、协方差、相关系数等。同时,Pandas库还能够进行数据可视化,通过绘图的方式展示数据的分布、趋势和关联关系。这使得数据分析师可以更加直观地理解和解释数据。 Xmind是一种用于创建思维导图的工具,它可以将复杂的概念和信息以图形化的方式展示出来。思维导图可以帮助用户整理和梳理思路,帮助用户更好地理解和记忆知识。在使用Pandas进行数据分析时,可以使用Xmind来记录和整理自己的数据分析过程,包括数据处理的步骤、分析的结果和相关的观察或发现。这样可以帮助用户更好地管理和沟通数据分析的过程和结果。 总结来说,Pandas是一个功能强大的数据分析和处理库,通过其丰富的数据结构和方法,可以简化和高效完成各种数据分析任务。而Xmind则是一种思维导图工具,能够帮助用户整理和展示复杂概念和信息,方便用户将数据分析过程和结果进行可视化和整理。使用Pandas和Xmind可以让数据分析任务更加简单和直观。 ### 回答2: Pandas是一个开源的Python数据分析库,它提供了丰富的数据结构和数据分析工具,使得数据处理更加简单、高效。而Pandas库中的核心数据结构是DataFrame,可以理解为一个二维的表格数据,类似于Excel中的数据表。Xmind是一款思维导图软件,可以帮助我们更好地组织和展示思维。 Pandas可以通过Xmind来进行详解,主要包括以下几个方面: 1. DataFrame的创建和基本操作:可以通过读取文件、字典、Numpy数组等方式来创建DataFrame,然后可以进行数据的选取、切片、筛选等操作。 2. 数据的清洗和处理:Pandas提供了强大的数据清洗和处理功能,可以用来处理缺失数据、重复数据以及异常值。也可以进行数据的合并、拆分、排序等操作,以及字符串、时间序列、数值等类型的转换。 3. 数据的分组和聚合:Pandas的分组和聚合功能非常强大,可以进行按列或者按行的分组操作,然后对每一组数据进行一些聚合操作,如求和、计数、平均值等。这样可以更好地了解数据的分布和概况。 4. 数据的可视化:Pandas可以配合Matplotlib等数据可视化工具,对数据进行绘图和可视化操作。可以绘制线图、柱状图、饼图等各种图表,更直观地展示数据的特征和趋势。 综上所述,使用Pandas库可以更方便地进行数据分析和处理,而通过Xmind来详细说明Pandas的各种功能和操作,能够更好地帮助用户理解和应用这些功能,从而更高效地进行数据分析和处理。 ### 回答3: Pandas是一个Python库,专门用于数据分析和数据操作。它提供了高效的数据结构和数据分析工具,使得使用Python进行数据处理变得更加方便和快速。而Xmind是一款脑图软件,用于整理和组织复杂的思维结构。 Pandas提供的数据结构主要包括两种:Series和DataFrame。Series是一维的带有标签的数组,类似于传统的数组或列表。每个元素都有唯一的标签,可以通过标签进行索引取值,方便进行数据查找和操作。DataFrame则是二维的表格型数据结构,类似于关系型数据库中的表。它由多个Series组成,每个Series代表一列数据。DataFrame可以进行行列索引、数据选择和过滤,方便进行数据的清洗和分析。 Pandas提供了丰富的数据操作和分析工具。可以进行数据的读取、清洗、转换和处理。可以对数据进行切片、聚合、排序和合并等操作。还可以对数据进行统计分析、绘图和可视化。Pandas还支持对缺失数据的处理,能够灵活处理数据中的空值,并进行填充或删除操作。 Xmind是一款强大的思维导图软件,可以帮助用户将复杂的信息整理、组织和展示。用户可以使用Xmind创建思维导图来表示数据结构、函数关系、工作流程等。通过将Python中的Pandas库和Xmind结合使用,可以更好地理解和展示数据分析的过程。可以使用脑图绘制数据处理流程图,方便团队内部的交流和理解。同时,可以使用脑图来整理数据分析中的关键知识点和技巧,方便进行知识传递和分享。 综上所述,Python的Pandas库提供了便捷的数据处理和分析工具,而Xmind则可以辅助整理和展示数据分析的过程和结果。两者结合使用,可以帮助用户更好地进行数据分析和可视化。
Pandas 是一个用于数据分析的 Python 库,它提供了一种称为 DataFrame 的数据结构,可以方便地处理和分析二维表格数据。 以下是 Pandas 常用的用法: 1. 导入 Pandas 库: import pandas as pd 2. 创建 DataFrame: df = pd.DataFrame({'姓名': ['张三', '李四', '王五'], '年龄': [18, 20, 22], '性别': ['男', '男', '女']}) 3. 查看数据: # 查看前几行数据 df.head() # 查看后几行数据 df.tail() # 查看数据的行数和列数 df.shape # 查看数据的基本信息 df.info() # 查看数据的统计信息 df.describe() 4. 筛选数据: # 选择指定列的数据 df[['姓名', '年龄']] # 根据条件筛选数据 df[df['年龄'] > 18] # 根据多个条件筛选数据 df[(df['年龄'] > 18) & (df['性别'] == '男')] # 根据指定值筛选数据 df[df['姓名'].isin(['张三', '王五'])] 5. 修改数据: # 修改指定列的值 df['年龄'] = [20, 22, 24] # 添加新列 df['职业'] = ['学生', '工人', '教师'] # 删除指定列 df.drop('职业', axis=1, inplace=True) 6. 数据排序: # 根据指定列进行升序排序 df.sort_values(by='年龄') # 根据多列进行升序排序 df.sort_values(by=['年龄', '性别']) # 根据指定列进行降序排序 df.sort_values(by='年龄', ascending=False) 7. 数据分组: # 根据指定列进行分组 df.groupby('性别') # 对分组后的数据进行聚合操作 df.groupby('性别').mean() 以上是 Pandas 的一些常用用法,还有很多其他的用法可以根据实际需求来使用。

最新推荐

pandas中Timestamp类用法详解

主要为大家详细介绍了pandas中Timestamp类用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Pandas 数据处理,数据清洗详解

今天小编就为大家分享一篇Pandas 数据处理,数据清洗详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

pandas和spark dataframe互相转换实例详解

主要介绍了pandas和spark dataframe互相转换实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Python pandas 列转行操作详解(类似hive中explode方法)

主要介绍了Python pandas 列转行操作详解(类似hive中explode方法),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

Pandas的read_csv函数参数分析详解

主要介绍了Pandas的read_csv函数参数分析详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

数据结构1800试题.pdf

你还在苦苦寻找数据结构的题目吗?这里刚刚上传了一份数据结构共1800道试题,轻松解决期末挂科的难题。不信?你下载看看,这里是纯题目,你下载了再来私信我答案。按数据结构教材分章节,每一章节都有选择题、或有判断题、填空题、算法设计题及应用题,题型丰富多样,共五种类型题目。本学期已过去一半,相信你数据结构叶已经学得差不多了,是时候拿题来练练手了,如果你考研,更需要这份1800道题来巩固自己的基础及攻克重点难点。现在下载,不早不晚,越往后拖,越到后面,你身边的人就越卷,甚至卷得达到你无法想象的程度。我也是曾经遇到过这样的人,学习,练题,就要趁现在,不然到时你都不知道要刷数据结构题好还是高数、工数、大英,或是算法题?学完理论要及时巩固知识内容才是王道!记住!!!下载了来要答案(v:zywcv1220)。

特邀编辑特刊:安全可信计算

10特刊客座编辑安全和可信任计算0OZGUR SINANOGLU,阿布扎比纽约大学,阿联酋 RAMESHKARRI,纽约大学,纽约0人们越来越关注支撑现代社会所有信息系统的硬件的可信任性和可靠性。对于包括金融、医疗、交通和能源在内的所有关键基础设施,可信任和可靠的半导体供应链、硬件组件和平台至关重要。传统上,保护所有关键基础设施的信息系统,特别是确保信息的真实性、完整性和机密性,是使用在被认为是可信任和可靠的硬件平台上运行的软件实现的安全协议。0然而,这一假设不再成立;越来越多的攻击是0有关硬件可信任根的报告正在https://isis.poly.edu/esc/2014/index.html上进行。自2008年以来,纽约大学一直组织年度嵌入式安全挑战赛(ESC)以展示基于硬件的攻击对信息系统的容易性和可行性。作为这一年度活动的一部分,ESC2014要求硬件安全和新兴技术�

如何查看mysql版本

### 回答1: 可以通过以下两种方式来查看MySQL版本: 1. 通过命令行方式: 打开终端,输入以下命令: ``` mysql -V ``` 回车后,会显示MySQL版本信息。 2. 通过MySQL客户端方式: 登录到MySQL客户端,输入以下命令: ``` SELECT VERSION(); ``` 回车后,会显示MySQL版本信息。 ### 回答2: 要查看MySQL的版本,可以通过以下几种方法: 1. 使用MySQL命令行客户端:打开命令行终端,输入mysql -V命令,回车后会显示MySQL的版本信息。 2. 使用MySQL Workbench:打开MyS

TFT屏幕-ILI9486数据手册带命令标签版.pdf

ILI9486手册 官方手册 ILI9486 is a 262,144-color single-chip SoC driver for a-Si TFT liquid crystal display with resolution of 320RGBx480 dots, comprising a 960-channel source driver, a 480-channel gate driver, 345,600bytes GRAM for graphic data of 320RGBx480 dots, and power supply circuit. The ILI9486 supports parallel CPU 8-/9-/16-/18-bit data bus interface and 3-/4-line serial peripheral interfaces (SPI). The ILI9486 is also compliant with RGB (16-/18-bit) data bus for video image display. For high speed serial interface, the ILI9486 also provides one data and clock lane and supports up to 500Mbps on MIPI DSI link. And also support MDDI interface.

特邀编辑导言:片上学习的硬件与算法

300主编介绍:芯片上学习的硬件和算法0YU CAO,亚利桑那州立大学XINLI,卡内基梅隆大学TAEMINKIM,英特尔SUYOG GUPTA,谷歌0近年来,机器学习和神经计算算法取得了重大进展,在各种任务中实现了接近甚至优于人类水平的准确率,如基于图像的搜索、多类别分类和场景分析。然而,大多数方法在很大程度上依赖于大型数据集的可用性和耗时的离线训练以生成准确的模型,这在许多处理大规模和流式数据的应用中是主要限制因素,如工业互联网、自动驾驶车辆和个性化医疗分析。此外,这些智能算法的计算复杂性仍然对最先进的计算平台构成挑战,特别是当所需的应用受到功耗低、吞吐量高、延迟小等要求的严格限制时。由于高容量、高维度和高速度数据,最近传感器技术的进步进一步加剧了这种情况。0在严格的条件下支持芯片上学习和分类的挑战0性�