df =pd.read_excel("/Users/name/Desktop/file.xlsx")
df['label'] = np.nan
# df['label'] = None
# 1. 判断值
df.loc[df['A'] == 'a', 'label'] = '1'
# 判断是否赋值成功,在赋值前后执行
# df[df.loc[:, 'A'] == 'a'].head(20)
# 2. 判断是否包含、以及多个条件的并行判断
df.loc[(df.loc[:, 'A'].str.contains("a")) & (df.loc[:, 'B'].str.contains("b")), 'label'] = '2'
# 3. 判断是不是null
df.loc[pd.isnull(df.loc[:, 'label']), 'label'] = '3'
# 请注意后面的判断条件(优先级低的判断,不要覆盖优先级高的判断)
# 标签结果的分布统计
df.groupby(['label']).size()
np.where(condition, x, y):满足
条件
(condition),输出x,不满足输出y。如果column1符合A或B
条件
,对应的’plus’列删除的前7个字段。这个时候就运用if elif。
这种情况下语句代码只能运行一次,当运行第二次的时候,原存储的数据已经被改变了。将温差加入表格当中,注意wencha是一个series,后面的减法返回的是一个series。在进行
数据分析
时,经常需要按照一定
条件
创建新的数据列,然后进行进一步分析。按
条件
先选择数据,然后对这部分数据
赋值
新列。实例:高低温差大于10度,则认为温差大。清理温度列,变成一个数字类型。
x = pd.DataFrame({'A': ['1', '2', '3', None, None],
'B': ['4', '5', '6', '7', None]})
x['A'] = ['10', '11', '12', '13', '14']
二、
pandas
对非整列
赋值
1、用单个值
赋值
x = pd.DataFrame({'A': ['1', '2', '3', None, None],
'B': ['4', '5', '6', '7', None]})
index = x['A'].i
1、通过np方式的
条件
函数运算
df[‘x2’] = np.where(df[‘name’] == ‘’, 0, df[‘amount’])
df[‘x3’] = df[‘amount’].where(df[‘name’] != ‘’, 0)
2、通过apply+lambda方式的
条件
函数运算,进行
条件
表示的时候要标记 loc!
cellparam.loc[cellparam.lc_name.isnull()==False,‘p2od’]=cellparam[cellparam.lc_name.isnul
我会解释如何在
pandas
中根据
条件
赋值
。虽然它不使用 if 语句,但它可以处理
条件
分支,如 if then … 或 if then … else …。具体值的替换见后面的文章,替换或删除缺失值NaN。以下面的
pandas
.DataFrame 为例。以下内容进行说明。
df[[‘A’, ‘B’]] = new_df[[‘A’, ‘B’]] # 将df中的"A"和"B"列替换为new_df中对应的列。df.loc[df[‘A’] > 10, ‘B’] = 999 # 将"A"列大于10的行对应的"B"列的值
赋值
为999。df[[‘A’, ‘B’, ‘C’]] = s # 将df中的"A", “B”, "C"列替换为s中的值。df[‘A’] = [10, 20, 30] # 将"A"列的所有值替换为[10, 20, 30]
文章目录0 引言1
Pandas
赋值
2
Pandas
数据操作
Pandas
处理表格的数据时,有时候需要对某一行或者某一列的一个值需要
赋值
,有时候也需要其他的数据操作,比如删除,更改等操作。
1
Pandas
赋值
import
pandas
as pd
import numpy as np
生成DataFrame表格数据
dates = np.arange(20200101,20200107)
df1 = pd.DataFrame(np.arange(24).reshape((6,4)),inde
让你了解 df.loc[ ] 与df.iloc[ ] 的用法,理清方括号里到底是选择的index 还是 列名,还是序号,用例子对比iloc 与loc的方法,养成相对良好的
pandas
选取习惯