mongodb_bak_list # 当前系统时间 DATE=`date +%Y-%m-%d-%H:%M:%S` # 备份数据库 DB=10_db # 数据库地址 HOST=10.1.11.10:30000 # 删除...7天前的备份,即只保留近 7 天的备份,按实际需求更改 DAYS=7 # 最终保存的数据库备份文件 TAR_BAK="mongod_bak_$DATE.tar.gz" cd $OUT_DIR rm -rf...DATE tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE find $TAR_DIR/ -mtime +$DAYS -delete exit 2、创建以上文件中的目录并赋予脚本执行权限...o crontab -r : 删除 crontab 文件。 o crontab -ir : 删除 crontab 文件前提醒用户。
# 删除包含缺失值的行 df_drop_rows = df.dropna() print("删除含缺失值的行:\n", df_drop_rows) # 删除包含缺失值的列 df_drop_cols =...填充缺失值 不想删除的话,就用合理的方式填充。比如用平均值、中位数,或者前一个有效值。...# 用列平均值填充数值型缺失值 df_fill_mean = df.fillna(df.mean()) print("用平均值填充:\n", df_fill_mean) # 用前一个有效值填充(前向填充...数据去重并保留最新 重复数据中保留最后一条,通常是最新的信息。...drop_duplicates('id', keep='last') print("去重并保留最新:\n", df_latest) 写在最后 这25个技巧覆盖了数据清洗中最常见的场景。
,代表数据解析引擎,默认为c nrows 接收int,表示读取前n行,默认为None 文本文件的存储和读取类似,结构化数据可以通过 Pandas 中的to_csv函数实现以 CSV 文件格式存储文件。...通过dropna方法可以删除具有缺失值的行。...默认为 ‘first’,表示保留第一个出现的重复值;‘last’ 表示保留最后一个出现的重复值;False 表示删除所有重复值。 inplace:可选参数,指定是否在原地修改 DataFrame。...默认为 False,表示保留原索引;如果设为 True,则在删除重复值后重新设置索引。...:\n', series, '\n', '等宽离散化后的数据为:\n', series1) print('离散化后各区间数据数目为:\n', series1.value_counts()) 离散化前的数据为
去除 NaN 值 在Pandas的各类数据Series和DataFrame里字段值为NaN的为缺失数据,不代表0而是说没有赋值数据,类似于python中的None值。...dropna() 删除NaN 值 可以通过 dropna 方法,默认按行扫描(操作),会将每一行有NaN 值的那一行删除,同时默认是对原对象的副本操作,不会对原对象产生影响,也可以通过inplace 指示是否直接在原对象上操作...# 要删除一列或一行中全部都是nan 值的那一行或列,可以通过下面的方式 print("del cols is all NaN\n", df.dropna(axis = 'columns', how...,thresh 指示这一列或行中有两个或以上的非NaN 值的行或列被保留 通过布尔判断,也是可以实现删除 NaN 的功能。...df.fillna(0,inplace = True) # inplace 指明在原对象上直接修改 复杂的 使用向前 或 向后 填充数据,依旧使用fillna 方法,所谓向前 是指 取出现NaN值的前一列或前一行的数据来填充
导入pandas库,并读取csv文件 import pandas as pd df=pd.read_csv('pokemon/Pokemon.csv') 查看DataFrame信息 df.info()...# 数据类型,内存消耗等信息 df.describe() # 统计特征,均值方差等 查看DataFrame的前几行以及后几行 pd.head(n=5) # 可以添加参数n,表示显示几行 pd.tail...['#'],axis=1,inplace=True) # 删除‘#’列数据,在原DataFrame上改变 df.drop([1,2,3],axis=0) # 删除行索引为1、2、3的行,不在原DataFrame...df.dropna(how='any') # 去除所有包含空值的行 去重 df.drop_duplicates(['Type1'],keep='first') # 去除相同的Type1的数据,仅保留第一个...3的数据 df.iloc[3] # 访问第4行数据,两行代码结果相同 数据访问方式(区域索引,先行后列) df.iloc[:5,:2] # 数据前5行前两列,按位置索引 df.loc[10:15
该函数可以根据指定的字段或字段组合来删除数据表中的重复行。其工作原理如下: 数据加载:首先,将需要清洗的数据表加载到Pandas DataFrame中。...去重处理:然后,使用drop_duplicates()函数根据指定的字段或字段组合来删除重复行。该函数默认保留第一次出现的重复行,但也可以通过设置参数来保留最后一次出现的重复行。...现在,我们需要使用Python来删除这些重复的客户名称,并确保每个客户名称只出现一次。...删除客户名称字段中的重复行:使用drop_duplicates()函数删除客户名称字段中的重复行,并保留第一次出现的重复行。...subset参数指定了去重的字段,keep参数指定了保留重复行的方式('first'表示保留第一次出现的重复行,'last'表示保留最后一次出现的重复行)。
例如,查看DataFrame的前两行: print(df.head(2)) 输出: name age gender 0 Tom 28 M 1 Jack 34 M...34 M 2 Steve 29 M 3 Ricky 42 F 删除DataFrame 可以使用drop()方法删除DataFrame中的行或列。...step参数允许使用s.iloc[::2]引用偶数行,并使用s[‘Paris’:‘Oslo’:-1]以相反的顺序获取元素。...唯一性(O(N) vs O(NlogN)),它会保留顺序,而不会返回排序结果。独特的。 缺失值被视为普通值,有时可能会导致令人惊讶的结果。 如果你想排除nan,需要显式地这样做。...如果这些还不够,你还可以通过自己的Python函数传递数据。它可以是: 一个函数f,它接受一个组x(一个Series对象)并生成一个值(例如sum())与g.eapply (f)一起使用。
DataFrame的.head()方法默认显示前5行。.tail()方法默认显示最后5行。行计数值可以是任意整数值,如: ? SAS使用FIRSTOBS和OBS选项按照程序来确定输入观察数。...按行切片也可以。方括号[]是切片操作符。这里解释细节。 ? ? 注意DataFrame的默认索引(从0增加到9)。这类似于SAS中的自动变量n。...thresh参数允许您指定要为行或列保留的最小非空值。在这种情况下,行"d"被删除,因为它只包含3个非空值。 ? ? 可以插入或替换缺失值,而不是删除行和列。....下面我们对比使用‘前向’填充方法创建的DataFrame df9,和使用‘后向’填充方法创建的DataFrame df10。 ? ?...在删除缺失行之前,计算在事故DataFrame中丢失的记录部分,创建于上面的df。 ? DataFrame中的24个记录将被删除。
可以使用head()和tail()方法查看DataFrame的前几行和后几行。...34 M 2 Steve 29 M 3 Ricky 42 F 删除DataFrame 可以使用drop()方法删除DataFrame中的行或列。...最后,将结果从0重新编号为n-1。 如果列已经在索引中,则可以使用join(这只是merge的别名,将left_index或right_index设置为True,并设置不同的默认值)。...7.5 插入和删除 由于DataFrame是列的集合,因此将这些操作应用到行上比应用到列上更容易。...D则没有(Python级别的限制)。 使用drop删除行非常慢,如果原始标签不是唯一的,可能会导致复杂的bug。
print('每列NaN数量:\n', df.isnull().sum())print('每列非NaN数量:\n', df.notnull().sum())输出:每列NaN数量:A 1B 0C...0dtype: int64每列非NaN数量:A 4B 5C 5dtype: int641.3 筛选NaN元素使用 dropna() 删除包含NaN的行或列:# 删除包含NaN的行...A1 B1 C12 A1 B3 C33 A2 B4 C44 A2 B5 C52.3 删除所有重复行data = {'A': ['A1', 'A1', 'A1', 'A1', '...(data)df = df.drop_duplicates() # 删除所有完全重复的行print(df)输出: A B C0 A1 B1 C12 A1 B3 C34 A2...keep:保留策略(first保留第一条,last保留最后一条,False删除所有重复)。inplace:是否直接修改原数据(默认False返回新对象)。
数据初探与理解 # 查看数据基本信息 print("数据基本信息:") df.info() # 查看前5行数据 print("\n数据前5行:") print(df.head()) # 查看数值型列的统计描述...head(n):返回前 n 行数据(默认 n=5),用于快速预览数据内容。对应的tail(n)返回后 n 行。 describe():生成数值型列的统计摘要,包括计数、均值、标准差、最值和四分位数。...last') # 保留最后一次出现的行 # df_clean = df.drop_duplicates(keep=False) # 删除所有重复行 print(f"删除重复行后:{df_clean.shape...参数subset=['col1', 'col2']:指定用于判断重复的列 默认保留第一次出现的行,标记后续重复行为 True drop_duplicates():删除重复行,参数keep控制保留策略:...keep='first':保留第一次出现的行(默认) keep='last':保留最后一次出现的行 keep=False:删除所有重复行 6.
输出为: Out[5]: one Python two Java three PHP dtype: object 创建Series类的对象并指定索引 import...index:表示行索引,默认生成0~N的整数索引。 columns:表示列索引,默认生成0~N的整数索引。 dtype:表示数据的类型。...,'c','d']) print(df) df['e'] = 10 df.loc[4] = 20 print(df) # 新增列/行并赋值 df['e'] = 20 df[['a','c']] =...limit:表示前向或者后向填充的最大填充量。...使用at和iat访问数据 pandas中还可以使用at和iat访问数据,与前两种方式相比,这种方式可以访问DataFrame类对象的单个数据。
删除缺失值 使用pd.DataFrame.dropna()方法完成缺失值的删除: In [17]: pd.DataFrame.dropna Out[17]: DataFrame.dropna...; all:当一行所有的数据都时缺失值时再删除这一行。...重复值的删除 使用pd.DataFrame.drop_duplicates()方法完成缺失值的删除: In [18]: pd.DataFrame.drop_duplicates Out[18]: 通过参数keep的属性值来设置: first:所有重复行删除,保留第一行; last:所有重复行删除,保留最后一行。...重复代码的打包 每次进行数据分析我都会新建一个.ipynb文件,而数据分析前都需要经过数据表合并、数据清洗等工作,那么最好的方式其实是将数据分析前的准备工作进行一个打包,然后在.ipynb文件的第一行引入包即可
导读:pandas是一款开放源码的BSD许可的Python库。它基于NumPy创建,为Python编程语言提供了高性能的、易于使用的数据结构和数据分析工具。...访问DataFrame首尾数据 head和tail方法用于访问DataFrame前n行和后n行数据,默认返回5行数据,如代码清单6-14所示。...代码清单6-14 访问DataFrame前后n行数据 print('默认返回前5行数据为:\n', df.head()) 输出: 默认返回前5行数据为: col1 col2 a...表示删除的行或列的标签。无默认值 axis:接收0或1。表示执行操作的轴向,其中0表示删除行,1表示删除列。默认为0 levels:接收int或者索引名。表示索引级别。...8 e 14 9 # 删除行 df.drop('a', axis = 0, inplace = True) print('删除a行后的DataFrame为:\n', df) 输出: 删除
读出来的数据就是一个dataframe,可以直接对他进行操作。 如果想获取前几行值可以直接使用head方法,或者切片,都是可以拿到前两行的值的。...读取数据的方法提供如下几种: df.head(n):查看DataFrame对象的前n行 df.tail(n):查看DataFrame对象的最后n行 df.shape():查看行数和列数 df.info(...下面我们简单介绍一下: 选择一列: data['column_name'] 选择一列的前几行数据: data['columns_name'][:n] 选择多列: data[['column1','column2...删除不完整的行(dropna) 假设我们想删除任何有缺失值的行。这种操作具有侵略性,但是我们可以根据我们的需要进行扩展。 我们可以使用isnull来查看dataframe中是否有缺失值。...) 我们也可以增加一些限制,在一行中有多少非空值的数据是可以保留下来的(在下面的例子中,行数据中至少要有 5 个非空值) df1.drop(thresh=5) 删除不完整的列(dropna) 我们可以上面的操作应用到列上
# 用于显示数据的前n行 df.head(n) # 用于显示数据的后n行 df.tail(n) # 用于获取数据的行数和列数 df.shape # 用于获取数据的索引、数据类型和内存信息 df.info...# 检查缺失值 df.isnull() # 删除有缺失值的行 df.dropna() # 用特定值填充缺失值 df.fillna(value) # 插入缺失值 df.interpolate()...# 检查重复行 df.duplicated() # 删除重复行 df.drop_duplicates() # 计算z分数 z_scores = (df - df.mean()) / df.std...df['column_name'] = df['column_name'].str.replace('old_value', 'new_value') # 删除前/尾空格 df['column_name...False]) # 按单列对DataFrame进行分组并计算另一列的平均值 grouped_data = df.groupby('column_name')['other_column'].mean
A4:按照月份m进行排序 A5:新增一列,如果月份等于前一行的月份,则计算增长比并赋值,否则赋值null,将该列命名为yoy。...A5:将amount按照倒序排序,并取前8名 A6: A.isect(),序列A成员可以为序列,产生所有子序列都有的成员组成的新序列。这里是求所有成员的交集。...update_rec') print(update_rec) e = time.time() print(e-s) 首先merge(old,new,on=’left’)将旧表左连接新表,新表中包含nan的行就是旧表删除的行...,由于字段名一样,所以python默认添加的后缀是_x,_y,删除的记录就是截取merge以后的前四个字段。...另外python中的merge函数不支持差集计算(或许其他函数支持),造成在第四例中特别麻烦。python pandas的dataframe结构是按列进行存储的,按行循环时就显得特别麻烦。
print(arr_2d[:2, 0:1]) # 使用切片访问前两行、第一列的元素 2.4 数组运算 2.4.1 形状相同的数组运算 无论是形状相同的数组,还是形状不同的数组,它们之间都可以执行算术运算...:索引 Dataframe既有行索引也有列索引,可以被看做由Series组成的字典(共用一个索引) 选择列 / 选择行 / 切片 / 布尔判断 1.选择行与列 # 选择行与列 df = pd.DataFrame...['a','b','c','d']) # 新增列/行并赋值 df['e'] = 10 df.loc[4] = 20 # 索引后直接修改值 df['e'] = 20 df[['a','c']] =...100 # del语句 - 删除列 del df['a'] # drop()删除行,inplace=False → 删除后生成新的数据,不改变原数据 df.drop([1,2]) # drop()...使用at和iat访问数据 pandas中还可以使用at和iat访问数据,与前两种方式相比,这种方式可以访问DataFrame类对象的单个数据。
.head()默认输出DataFrame的前五行,但是我们也可以传递一个数字:例如,movies_df.head(10)将输出前十行。 要查看最后五行,请使用.tail()。....通常,当我们加载数据集时,我们喜欢查看前五行左右的内容,以了解隐藏在其中的内容。在这里,我们可以看到每一列的名称、索引和每行中的值示例。...我们的movies DataFrame中有1000行和11列。 在清理和转换数据时,您将需要经常使用.shape。例如,您可能会根据一些条件过滤一些行,然后想要快速知道删除了多少行。...方法也将返回数据DataFrame的一个副本,但这次删除了副本。...这意味着如果两行是相同的,panda将删除第二行并保留第一行。使用last有相反的效果:第一行被删除。 另一方面,keep将删除所有重复项。如果两行是相同的,那么这两行都将被删除。
本文是基于Windows系统环境,学习和测试DataFrame模块: Windows 10 PyCharm 2018.3.5 for Windows (exe) python 3.6.8...n = np.array(df) print(n) DataFrame增加一列数据 import pandas as pd import numpy as np data = pd.DataFrame...删除重复的数据行 import pandas as pd norepeat_df = df.drop_duplicates(subset=['A_ID', 'B_ID'], keep='first...=‘first'时,就是保留第一次出现的重复行 # keep='last'时就是保留最后一次出现的重复行。 ...'表示去除列 # how: 'any'表示行或列只要含有NaN就去除,'all'表示行或列全都含有NaN才去除 # thresh: 整数n,表示每行或列中至少有n个元素补位NaN,否则去除