) # 解析URL、字符串或者HTML文件,抽取其中的tables表格 pd.read_clipboard() # 从你的粘贴板获取内容,并传给read_table() pd.DataFrame(...s.value_counts(dropna=False) # 查看Series对象的唯一值和计数 df.apply(pd.Series.value_counts) # 查看DataFrame对象中每一列的唯一值和计数...df.at[5,"col1"] # 选择索引名称为5,字段名称为col1的数据 df.iat[5,0] # 选择索引排序为5,字段排序为0的数据 data.str.contains("s") # 数据中含有...() # 检查DataFrame对象中的空值,并返回一个Boolean数组 pd.notnull() # 检查DataFrame对象中的非空值,并返回一个Boolean数组 df.dropna() #...=lambda x: x + 1) # 批量重命名索引 数据处理:Filter、Sort和GroupBy df[df[col] > 0.5] # 选择col列的值大于0.5的行 df.sort_index
返回唯一值的数组(类型为array) df.drop_duplicates(['k1'])# 保留k1列中的唯一值的行,默认保留第一行 df.drop_duplicates(['k1','k2'],..., 默认:更新index,返回一个新的DataFrame # 返回一个新的DataFrame,更新index,原来的index会被替代消失 # 如果dataframe中某个索引值不存在,会自动补上NaN...True) reset_index() 将使用set_index()打造的层次化逆向操作 既是取消层次化索引,将索引变回列,并补上最常规的数字索引 df.reset_index() ----...df.loc[1:4,['petal_length','petal_width']] # 需求1:创建一个新的变量 test # 如果sepal_length > 3 test = 1 否则 test...= 0 df.loc[df['sepal_length'] > 6, 'test'] = 1 df.loc[df['sepal_length'] <=6, 'test'] = 0 # 需求2:创建一个新变量
格式的字符串导入数据 pd.read_html(url) # 解析URL、字符串或者HTML文件,抽取其中的tables表格 pd.read_clipboard() # 从你的粘贴板获取内容,并传给read_table...# 查看索引、数据类型和内存信息 df.describe()# 查看数值型列的汇总统计 s.value_counts(dropna=False) # 查看Series对象的唯一值和计数 df.apply...(pd.Series.value_counts) # 查看DataFrame对象中每一列的唯一值和计数 数据选取: df[col] # 根据列名,并以Series的形式返回列 df[[col1, col2...,on=col1,how='inner') # 对df1的列和df2的列执行SQL形式的join 数据清理: df[df[col] > 0.5] # 选择col列的值大于0.5的行 df.sort_values...(index=col1, values=[col2,col3], aggfunc=max) # 创建一个按列col1进行分组,并计算col2和col3的最大值的数据透视表 df.groupby(col1
df[['Name', 'Age']] 8. 选择行 df.loc[index] 使用方式: 通过索引标签选择DataFrame中的一行。 示例: 选择索引为2的行。 df.loc[2] 9....选择特定行和列 df.loc[index, 'ColumnName'] 使用方式: 通过索引标签和列名选择DataFrame中的特定元素。 示例: 选择索引为1的行的“Name”列的值。...df.loc[1, 'Name'] 10. 条件选择(Filtering) df[df['ColumnName'] > value] 使用方式: 使用条件过滤选择满足特定条件的行。...使用value_counts计算唯一值的频率 df['Column'].value_counts() 使用方式: 使用value_counts计算某列中每个唯一值的频率。...示例: 获取第2行的“Name”列的值。 df.at[1, 'Name'] 45.
同样的情况,我们可以增加分组并获取对应的数据 data1 = data['score'].groupby(data['city']) data1.mean() 这种情况下可以类比为SQL语句: select...['b'].unique(): 查看某一列的唯一值 df.values: 查看数据表的值 df.columns: 查看列名 df.head(): 查看默认的前 10 行数据 df.tail():...df1, how='outer') # 并集 设置索引列 df.set_index('id') 按照特定列的值排序 df.sort_values(by=['age']) 按照索引列排序 df.sort_index...具体的使用见下: df.loc[3]: 按索引提取单行的数值 df.iloc[0:5]: 按索引提取区域行数据值 df.reset_index(): 重设索引 df=df.set_index('...date'): 设置 date 为索引 df[:'2013']: 提取 2013 之前的所有数据 df.iloc[:3,:2]: 从 0 位置开始,前三行,前两列,这里的数据不同去是索引的标签名称,
但如果从运算时间性能上考虑可能不是特别好的选择。 本次东哥介绍几个常见的提速方法,一个比一个快,了解pandas本质,才能知道如何提速。 下面是一个例子,数据获取方式见文末。...,但这个新的特征是基于一些时间条件生成的,根据时长(小时)而变化,如下: ?...pandas的.apply方法接受函数callables并沿DataFrame的轴(所有行或所有列)应用。...一个技巧是:根据你的条件,选择和分组DataFrame,然后对每个选定的组应用矢量化操作。 在下面代码中,我们将看到如何使用pandas的.isin()方法选择行,然后在矢量化操作中实现新特征的添加。...] = df.loc[peak_hours, 'energy_kwh'] * 28 df.loc[shoulder_hours,'cost_cents'] = df.loc[shoulder_hours
,选择 how=「all」会删除所有元素都是 NaN 的给定轴。...(11)删除特征 df.drop('feature_variable_name', axis=1) axis 选择 0 表示行,选择表示列。...(13)将 DataFrame 转换为 NumPy 数组 df.as_matrix() (14)取 DataFrame 的前面「n」行 df.head(n) (15)通过特征名取数据 df.loc[feature_name...的第三行为「size」: df.rename(columns = {df.columns[2]:'size'}, inplace=True) (18)取某一行的唯一实体 下面代码将取「name」行的唯一实体...= False) (22)布尔型索引 以下代码将过滤名为「size」的行,并仅显示值等于 5 的行: df[df["size"] == 5] (23)选定特定的值 以下代码将选定「size」列、第一行的值
JSON格式的字符串导入数据 pd.read_html(url):解析URL、字符串或者HTML文件,抽取其中的tables表格 pd.read_clipboard():从你的粘贴板获取内容,并传给read_table...数据类型和内存信息 df.describe():查看数值型列的汇总统计 s.value_counts(dropna=False):查看Series对象的唯一值和计数 df.apply(pd.Series.value_counts...):查看DataFrame对象中每一列的唯一值和计数 数据排序 df.sort_index(axis=1, ascending=False) # 即按列名排序,交换列位置。...():查看数据值列的汇总统计 df.mean():返回所有列的均值 df.corr():返回列与列之间的相关系数 df.count():返回每一列中的非空值的个数 df.max():返回每一列的最大值...df.min():返回每一列的最小值 df.median():返回每一列的中位数 df.std():返回每一列的标准差
获取指定的列和行 import pandas as pd df = pd.read_csv('xxxx.xls') 获取行操作df.loc[3:6]获取列操作df['rowname']取两列df[['...('a',inplace=True,ascending=True) , inplace 表示排序的时候是否生成一个新的 dataFrame , ascending=True 表示升序,默认为升序,如果存在缺失的补值...[‘b’].unique()查看某一列的唯一值df.values查看数据表的值df.columns查看列名df.head()查看默认的前 10 行数据df.tail()查看默认的后 10 行数据 数据表清洗...) & (df['pr'] >= 4000), 'sign'] = 1 对 category 字段的值依次进行分列,并创建数据表,索引值 df 的索引列,列名称为 category 和 size pd.DataFrame...loc函数按标签值进行提取iloc按位置进行提取ix可以同时按标签和位置进行提取 具体的使用见下: df.loc[3]按索引提取单行的数值df.iloc[0:5]按索引提取区域行数据值df.reset_index
(10)检查缺失值 pd.isnull(object) 检测缺失值(数值数组中的NaN,对象数组中的None/ NaN) (11)删除特征 df.drop('feature_variable_name...(13)将数据帧转换为NUMPY数组 df.as_matrix() (14)获得数据帧的前N行 df.head(n) (15)按特征名称获取数据 df.loc [FEATURE_NAME]...df.columns [2]:'size'},inplace= True) (18)获取列的唯一条目 在这里,我们将获得“名称”列的唯一条目 df["name"].unique() (19)访问子数据帧...在这里,我们抓取列的选择,数据帧中的“name”和“size” new_df= df [[“name”,“size”]] (20)数据的摘要信息 # Sum of values in a data...[df [“size”]== 5] (23)选择值 选择“size”列的第一行 view source df.loc([0],['size'])
df[['Name', 'Age']] 8. 选择行 df.loc[index] 使用方式: 通过索引标签选择DataFrame中的一行。 示例: 选择索引为2的行。 df.loc[2] 9....选择特定行和列 df.loc[index, 'ColumnName'] 使用方式: 通过索引标签和列名选择DataFrame中的特定元素。 示例: 选择索引为1的行的“Name”列的值。...获取最大值,使用nsmallest获取最小值。...使用value_counts计算唯一值的频率 df['Column'].value_counts() 使用方式: 使用value_counts计算某列中每个唯一值的频率。...示例: 获取第2行的“Name”列的值。 df.at[1, 'Name'] 45.
许多链接包含了比内联示例提供的更详细的信息。 pandas(pd)和 NumPy(np)是唯一两个缩写导入的模块。其余模块都明确导入,以供新用户使用。...1 1 2 1 3 3 2 4 4 2 5 5 2 1 6 3 2 7 3 3 方法 1:使用 idxmin() 获取最小值的索引...Paynter 10 88 103.0 Paynter 8 100 88.0 从每个组中选择具有最大值的行...计算 时间序列的数值积分(基于样本) 相关性 通常很有用从DataFrame.corr()计算的相关性矩阵中获取下三角形式(或上三角形式)。...然而,一种更高效的方法,不需要首先计算所有唯一值,是: In [244]: v = s.to_numpy() In [245]: is_constant = v.shape[0] == 0 or (s
再选择「ETF 申购成分信息」。 点击下一步得到 看到没有第一行代码就这样生成了,获取数据的门槛迅速降低了好多。...(WMT = Walmart = 沃尔玛) 情况 3 df.loc[ 'MS':'GS', : ] 用 loc 获取标签从 ‘MS‘ 到 'GS' 的 sub-DataFrame。...情况 1 df.loc[ 'GS':'WMT', '价格': ] 用 loc 获取行标签从 ‘GS‘ 到 'WMT',列标签从'价格'到最后的 sub-DataFrame。...(Hint: 看看两组里冒号 : 在不同位置,再想想 DataFrame 每一行和每一列中数据的特点) 布尔索引 在〖数组计算之 NumPy (上)〗提过,布尔索引就是用一个由布尔类型值组成的数组来选择元素的方法...用 MultiIndex 可以创建多层索引的对象,获取 DataFrame df 的信息可用 df.loc[1st].loc[2nd] df.loc[1st].iloc[2nd] df.iloc[1st
在本文中将列出数据清洗中需要解决的问题并展示可能的解决方案,通过本文可以了解如何逐步进行数据清洗。 缺失值 当数据集中包含缺失数据时,在填充之前可以先进行一些数据的分析。...因为空单元格本身的位置可以告诉我们一些有用的信息。例如: NA值仅在数据集的尾部或中间出现。这意味着在数据收集过程中可能存在技术问题。可能需要分析该特定样本序列的数据收集过程,并尝试找出问题的根源。...数据不一致意味着列的唯一类具有不同的表示形式。例如在性别栏中,既有m/f,又有male/female。在这种情况下,就会有4个类,但实际上有两类。...所以应该在清洗和预处理步骤之前拆分数据: 以选择缺失值插补为例。数值列中有 NA,采用均值法估算。...但是我们拆分的目标是保持测试集完全独立,并像使用新数据一样使用它来进行性能评估。所以在操作之前必须拆分数据集。 虽然训练集和测试集分别处理效率不高(因为相同的操作需要进行2次),但它可能是正确的。
数据清洗:缺失值,异常值,一致性; 特征编码:one-hot 和 label coding; 特征分箱:等频,等距,聚类等; 衍生变量:可解释性强,适合模型输入; 特征选择:方差选择,卡方选择,正则化等...发现只有一个缺失值,其实可以直接删除,但是好多乘客都是以一个家庭来的,这其中会有很强的联系,并会给我们很好的线索,因此选择不删除。 继续观察一下这个缺失值乘客有什么特点?...这时我们可以使用相似特征替换方法来填补缺失值,下面来找一下与缺失值具有相似特征的其它样本数据: df.loc[(df['Pclass']==3)&(df['Age']>60)&(df['Sex']=='...因为缺失值也是一种值,这里将Cabin缺失值视为一种特殊的值来处理,并根据Cabin首个字符衍生一个新的特征CabinCat。...特征选择 过滤法—方差分析 这里特征采用 ANOVA方差分析的 F值 来对各个特征变量打分,打分的意义是:各个特征变量对目标变量的影响权重。
无论是需要提取特定的行或列,还是需要应用条件过滤,pandas都可以满足需求。 选择列 loc[]:根据标签选择行和列。...的条件表达式选择数据。...Segment'].str.contains('Office')] 更新值 loc[]:可以为DataFrame中的特定行和列并分配新值。...Customer Country'] = 'USA' iloc[]:也可以为DataFrame中的特定行和列并分配新值,但是他的条件是数字索引 # Update values in a column...Order Quantity'] > 3 df.iloc[condition, 15] = 'greater than 3' replace():用新值替换DataFrame中的特定值。
和 values属性获取行索引和值 first_row.values # 获取Series中所有的值, 返回的是np.ndarray对象 first_row.index # 返回Series的行索引...loc方法传入行索引,来获取DataFrame的部分数据(一行,或多行) df.loc[0] df.loc[99] df.loc[last_row_index] iloc : 通过行号获取行数据 iloc...传入的是索引的序号,loc是索引的标签 使用iloc时可以传入-1来获取最后一行数据,使用loc的时候不行 loc和iloc属性既可以用于获取列数据,也可以用于获取行数据 df.loc[[行],[列]...] df.iloc[[行],[列]] df.loc[:,['country','year','pop']] # 获取全部的行,但每一行的列内容接受三个 df.iloc[:,[0,2,4,-1]] df.loc...Series的唯一值计数 # 可以使用 value_counts 方法来获取Pandas Series 的频数统计 df.groupby(‘continent’) → dataframeGroupby
tables 表格 pd.read_html(url) # 从你的粘贴板获取内容,并传给 read_table() pd.read_clipboard() # 从字典对象导入数据,Key 是列名,Value...df.team.unique() # 显示列中的不重复值 # 查看 Series 对象的唯一值和计数, 计数占比: normalize=True s.value_counts(dropna=False...) # 查看 DataFrame 对象中每一列的唯一值和计数 df.apply(pd.Series.value_counts) df.duplicated() # 重复行 df.drop_duplicates...() # 检查DataFrame对象中的空值,并返回一个 Boolean 数组 pd.notnull() # 检查DataFrame对象中的非空值,并返回一个 Boolean 数组 df.drop(['...== 'Jude'] # 按索引查询要用 .index df[df[col] > 0.5] # 选择col列的值大于0.5的行 # 多条件查询 df[(df['team'] == 'A') &
领取专属 10元无门槛券
手把手带您无忧上云