首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pandas技巧4

) # 解析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.5df.sort_index

3.4K20

pandas数据清洗,排序,索引设置,数据选取

返回唯一数组(类型为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:创建一个变量

3.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

妈妈再也不用担心我忘记pandas操作了

格式字符串导入数据 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.5df.sort_values...(index=col1, values=[col2,col3], aggfunc=max) # 创建一个按列col1进行分组,计算col2和col3最大数据透视表 df.groupby(col1

2.2K31

Python 数据分析初阶

同样情况,我们可以增加分组获取对应数据 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 位置开始,前三行,前两列,这里数据不同去是索引标签名称,

1.3K20

再见 for 循环!pandas 提速 315 倍!

但如果运算时间性能上考虑可能不是特别好选择。 本次东哥介绍几个常见提速方法,一个比一个快,了解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

2.7K20

pandas入门①数据统计

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():返回每一列标准差

1.5K20

用 Pandas 进行数据处理系列 二

获取指定列和行 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

8.1K30

帮助数据科学家理解数据23个pandas常用代码

(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'])

2K40

【Kaggle入门级竞赛top5%排名经验分享】— 建模篇

数据清洗:缺失,异常值,一致性; 特征编码:one-hot 和 label coding; 特征分箱:等频,等距,聚类等; 衍生变量:可解释性强,适合模型输入; 特征选择:方差选择,卡方选择,正则化等...发现只有一个缺失,其实可以直接删除,但是好多乘客都是以一个家庭来,这其中会有很强联系,并会给我们很好线索,因此选择不删除。 继续观察一下这个缺失乘客有什么特点?...这时我们可以使用相似特征替换方法来填补缺失,下面来找一下与缺失具有相似特征其它样本数据: df.loc[(df['Pclass']==3)&(df['Age']>60)&(df['Sex']=='...因为缺失也是一种,这里将Cabin缺失视为一种特殊来处理,根据Cabin首个字符衍生一个特征CabinCat。...特征选择 过滤法—方差分析 这里特征采用 ANOVA方差分析 F 来对各个特征变量打分,打分意义是:各个特征变量对目标变量影响权重。

52520

盘一盘 Python 系列 4 - Pandas (上)

选择「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

6.1K52

使用 Python 进行数据清洗完整指南

在本文中将列出数据清洗中需要解决问题展示可能解决方案,通过本文可以了解如何逐步进行数据清洗。 缺失 当数据集中包含缺失数据时,在填充之前可以先进行一些数据分析。...因为空单元格本身位置可以告诉我们一些有用信息。例如: NA仅在数据集尾部或中间出现。这意味着在数据收集过程中可能存在技术问题。可能需要分析该特定样本序列数据收集过程,尝试找出问题根源。...数据不一致意味着列唯一类具有不同表示形式。例如在性别栏中,既有m/f,又有male/female。在这种情况下,就会有4个类,但实际上有两类。...所以应该在清洗和预处理步骤之前拆分数据: 以选择缺失插补为例。数值列中有 NA,采用均值法估算。...但是我们拆分目标是保持测试集完全独立,像使用数据一样使用它来进行性能评估。所以在操作之前必须拆分数据集。 虽然训练集和测试集分别处理效率不高(因为相同操作需要进行2次),但它可能是正确

1.1K30

DataFrame和Series使用

和 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

8810

Pandas入门操作

切片 # 获取单列 df['首付'] # 获取多列 df[['首付','建筑面积']] # 获取指定几行指定几列 df.loc[1:7,['单价','建筑面积']] 筛选 df[df['首付']>250...] # 交集 df[(df['首付']>=150) & (df['朝向'] == '南北')].head() # df[(df['首付']>=150) | (df['朝向'] == '南北')]....df.loc[2,'住宅类别']='普通住宅' 检查缺失 df['住宅类别'].isnull() # 输出‘住宅类别中’所有的是否为空 df['住宅类别'].isnull().any() # 检查...# subset:在某些列子集中选择出现了缺失列删除,不在子集中含有缺失值得列或行不会删除(有axis决定是行还是列) # inplace:刷选过缺失值得数据是存为副本还是直接在原数据上进行修改...value:需要用什么去填充缺失 # axis:确定填充维度,行开始或是列开始 # method:ffill:用缺失前面的一个代替缺失,如果axis =1,那么就是横向前面的替换后面的缺失

83220
领券