电子网站建设前台设计,某企业网站建设论文,台州seo排名外包,正规网站建设哪家好目录
准备数据
DataFrame添加列
直接添加列数据
使用insert添加列数据
DataFrame删除行列
准备数据
删除行
删除列
DataFrame数据去重 准备数据
import pandas as pd
df pd.read_csv(../data/b_LJdata.csv)
df DataFrame添加列
直接添加列数据
1…目录
准备数据
DataFrame添加列
直接添加列数据
使用insert添加列数据
DataFrame删除行列
准备数据
删除行
删除列
DataFrame数据去重 准备数据
import pandas as pd
df pd.read_csv(../data/b_LJdata.csv)
df DataFrame添加列
直接添加列数据
1获取前5条数据并复制一份
# 获取前5条数据并复制一份
copy_df df.head().copy()
copy_df
2 添加列名为 城市 的一列, 值都为 北京
# 添加一列 城市,值为北京
copy_df[城市]北京
copy_df 3添加列名为 区县 的一列, 值分别是 朝阳区, 朝阳区, 西城区, 昌平区, 朝阳区
# 添加列名为 区县 的一列, 值分别是 朝阳区, 朝阳区, 西城区, 昌平区, 朝阳区
copy_df[区县][朝阳区, 朝阳区, 西城区, 昌平区, 朝阳区]
copy_df 4 添加列名为 新价格 的一列, 值比原价格列的值多1000元 # 添加列名为 新价格 的一列, 值比原价格列的值多1000元
copy_df[新价格] copy_df[价格] 1000
copy_df 使用insert添加列数据
DataFrame的 insert 方法用于在特定位置插入新的列
以下是 df.insert(loc, column, value)的详细解释 1 参数说明 loc 这是一个整数表示要插入新列的位置索引。索引从 0 开始所以 loc0 表示在最左边插入新列loc1 表示在第二列的位置插入新列依此类推。 column 这是一个字符串表示新列的名称。 value 可以是一个标量值、列表、数组或其他可迭代对象它将成为新列的值。如果是标量值该值将被广播到新列的所有行。如果是可迭代对象其长度必须与数据框的行数相等。 使用insert方法会直接修改原始的DataFrame对象。如果需要保留原始数据框的副本可以先对其进行复制。 确保value参数的值与数据框的行数相匹配否则会引发错误。 如果多次调用insert方法插入多个新列每次插入都会移动后续的列可能会影响性能。在某些情况下可以考虑一次性构建包含所有列的数据框而不是逐个插入列。 1 获取前5条数据并复制一份
# 1 获取前5条数据并复制一份
copy_df df.head().copy()
copy_df 2 在区域列后添加列名为 城市 的一列, 值都为北京
# 2 在 区域 列后添加列名为 城市 的一列, 值都为北京
# 2.1 获取指定列的索引 df.columns.get_loc(列名)
area copy_df.columns.get_loc(区域)
print(area)# 添加新列
copy_df.insert(locarea1,column城市,value北京)
print(copy_df) 3在城市列后添加列名为 区县 的一列, 值分别是 朝阳区, 朝阳区, 西城区, 昌平区, 朝阳区
#%%
# 3 在城市列后添加列名为 区县 的一列, 值分别是 朝阳区, 朝阳区, 西城区, 昌平区, 朝阳区
# 3.1 获取指定列的索引 df.columns.get_loc(列名)
city copy_df.columns.get_loc(城市)
print(city)# 添加新列
copy_df.insert(loccity1,column区县,value[朝阳区, 朝阳区, 西城区, 昌平区, 朝阳区])
print(copy_df) 4 在价格列后添加列名为 新价格 的一列, 值比原价格列的值多1000元
# 4 在价格列后添加列名为 新价格 的一列, 值比原价格列的值多1000元
# 4.1 获取指定列的索引 df.columns.get_loc(列名)
price df.columns.get_loc(价格)
print(price)# 添加新列
copy_df.insert(locprice1,column新价格,valuecopy_df[价格]1000)
print(copy_df) DataFrame删除行列
在pandas中df.drop(labels, axis, inplace)方法用于删除DataFrame中的行或列。 labels 可以是一个标签例如列名或行索引或一个标签列表表示要删除的行或列。 如果是单个标签将删除对应的一行或一列。如果是列表则删除多个行或列。 axis 决定是删除行还是列。默认值为 0表示按行删除。如果设置为 1则表示按列删除。 例如axis0可以用来删除特定的行而axis1可以用来删除特定的列。 inplace 这是一个布尔值参数。如果为True则直接在原始DataFrame上进行修改不会返回新的DataFrame。如果为False默认值则会返回一个新的DataFrame原始的DataFrame保持不变。
准备数据
import pandas as pd
df pd.read_csv(../data/b_LJdata.csv)
df 删除行
1)删除一行数据 原df上并没有删除(完整版)
# 删除行:不在原有基础删除,删除一行
copy_df df.head().copy()
print(删除)
new_df copy_df.drop(labels[1],axis0,inplace False)
print(new_df)
print(删除后)
print(copy_df) 2) 删除一行数据 原df上并没有删除(简化版)
# 删除行:不在原有基础删除,删除一行
copy_df df.head().copy()
print(删除)
new_df copy_df.drop(labels[1])
print(new_df)
print(删除后)
print(copy_df) 3) 删除多行数据 原df上并没有删除
# 删除多行
copy_df df.head().copy()
print(删除)
new_df copy_df.drop(labels[1,2,4],axis0,inplace False)
print(new_df)
print(删除后)
print(copy_df) 4) 删除一行数据 原df上删除
# 在原基础上删除一行
copy_df df.head().copy()
print(删除前)
print(copy_df)
print(删除)
new_df copy_df.drop(labels[1],axis0,inplace True)
print(new_df)
print(删除后)
print(copy_df) 5) 删除多行数据 原df上删除
# 在原基础上删除多行
copy_df df.head().copy()
print(删除前)
print(copy_df)
print(删除)
new_df copy_df.drop(labels[1,1,3],axis0,inplace True)
print(new_df)
print(删除后)
print(copy_df) 删除列
1) 删除一列数据 原df上并没有删除(完整版)
# 不在原基础上,删除一列
copy_df df.head().copy()
print(删除)
new_df copy_df.drop(labels[地址],axis1,inplace False)
print(new_df)
print(删除后)
print(copy_df) 2) 删除多列数据 原df上并没有删除
# 不在原基础上,删除多列
copy_df df.head().copy()
print(删除)
new_df copy_df.drop(labels[地址,价格],axis1,inplace False)
print(new_df)
print(删除后)
print(copy_df) 3) 删除一列数据 原df上删除
# 在原有基础上,删除一行
copy_df df.head().copy()
print(删除)
new_df copy_df.drop(labels[地址],axis1,inplace True)
print(new_df)
print(删除后)
print(copy_df) 4) 删除多列数据 原df上删除 # 在原基础上,删除多列
copy_df df.head().copy()
print(删除)
new_df copy_df.drop(labels[地址,价格],axis1,inplace True)
print(new_df)
print(删除后)
print(copy_df) DataFrame数据去重
在pandas中DataFrame.drop_duplicates(subset, keep, inplace)方法用于删除数据框中的重复行。 subset 可以是一个列标签或列标签列表表示根据这些列来判断重复行。 如果指定了subset则只考虑这些列中的值来确定重复行。例如如果subset[col1, col2]那么只有当col1和col2列的值完全相同时才会被认为是重复行。 如果不指定subset则会考虑所有列来判断重复行。 keep 决定保留哪些重复行。可以取以下三个值之一 first默认值保留第一次出现的重复行。 last保留最后一次出现的重复行。 False删除所有重复行。 inplace 这是一个布尔值参数。如果为True则直接在原始DataFrame上进行修改不会返回新的DataFrame。如果为False默认值则会返回一个新的DataFrame原始的DataFrame保持不变。
1) 对 户型, 朝向 去重, 保留第一条, 不影响原始数据
# 1 对 户型, 朝向 去重, 保留第一条, 不影响原始数据
# 1.1 准备测试数据
copy_df df.head().copy()
print(去重)
new_df copy_df.drop_duplicates(subset[户型, 朝向 ],keepfirst,inplaceFalse)
print(new_df)
print(去重后)
print(copy_df) 2) 对 户型, 朝向 去重, 保留最后一条, 不影响原始数据
# 2 对 户型, 朝向 去重, 保留最后一条, 不影响原始数据
# 1.1 准备测试数据
copy_df df.head().copy()
print(去重)
new_df copy_df.drop_duplicates(subset[户型, 朝向 ],keeplast,inplaceFalse)
print(new_df)
print(去重后)
print(copy_df) 3) 对 户型, 朝向 去重, 删除所有重复数据, 不影响原始数据
# 3 对 户型, 朝向 去重, 删除所有重复数据, 不影响原始数据
# 3.1 准备测试数据
copy_df df.head().copy()
print(去重)
new_df copy_df.drop_duplicates(subset[户型, 朝向 ],keepFalse,inplaceFalse)
print(new_df)
print(去重后)
print(copy_df) 4) 对 户型, 朝向 去重, 保留第一条, 影响原始数据
# 4 对 户型, 朝向 去重, 保留第一条, 影响原始数据
# 4.1 准备测试数据
copy_df df.head().copy()
print(去重)
new_df copy_df.drop_duplicates(subset[户型, 朝向 ],keepfirst,inplaceTrue)
print(new_df)
print(去重后)
print(copy_df) 5) 对 户型, 朝向 去重, 保留最后一条, 影响原始数据
# 5 对 户型, 朝向 去重, 保留最后一条, 影响原始数据
# 5.1 准备测试数据
copy_df df.head().copy()
print(去重)
new_df copy_df.drop_duplicates(subset[户型, 朝向 ],keeplast,inplaceTrue)
print(new_df)
print(去重后)
print(copy_df) 6) 对 户型, 朝向 去重, 删除所有重复数据, 影响原始数据
# 6 对 户型, 朝向 去重, 删除所有重复数据, 影响原始数据
# 6.1 准备测试数据
copy_df df.head().copy()
print(去重)
new_df copy_df.drop_duplicates(subset[户型, 朝向 ],keepFalse,inplaceTrue)
print(new_df)
print(去重后)
print(copy_df) 7) 简化版1 对 户型, 朝向 去重
# 7 简化版1 对 户型, 朝向 去重
# 7.1 准备测试数据
copy_df df.head().copy()
print(去重)
new_df copy_df.drop_duplicates(subset[户型, 朝向 ])
print(new_df)
print(去重后)
print(copy_df) 8) 简化版2 对 所有列 去重
# 8 简化版2 对 所有列 去重
# 8.1 准备测试数据
copy_df df.head().copy()
print(去重)
new_df copy_df.drop_duplicates()
print(new_df)
print(去重后)
print(copy_df)