pandas 数据处理遇到的问题

数据为DataFrame格式,如下:

1.对每一行,FirstCab的值为空时,Weight的值乘以0.8

方法一(可行):df.loc[df[‘FirstCab‘].isnull(),‘Weight‘] *= 0.8

方法二(可行):df[‘Weight‘] = np.where(df[‘FirstCab‘].isnull(),df[‘Weight‘]*0.8,df[‘Weight‘])

方法三(不可行):df[df[‘FirstCab‘].isnull()][‘Weight‘]  *= 0.8 或者 df.loc[df[‘FirstCab‘].isnull(),:][‘Weight‘]  *= 0.8

错误提示:A value is trying to be set on a copy of a slice from a DataFrame.Try using .loc[row_indexer,col_indexer] = value instead.

方法四(不可行):df.assign(Weight=lambda x: x[‘Weight‘]*0.8 if x[‘FirstCab‘].isnull() else x[‘Weight‘])

        或者df.assign(Weight=lambda x: x[‘Weight‘]*0.8 if x[‘FirstCab‘] == np.nan else x[‘Weight‘])

错误提示:ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

时间: 2024-10-12 22:26:41

pandas 数据处理遇到的问题的相关文章

Pandas 数据处理入门教程合集

基础教程 Pandas 数据处理(三) - Cheat Sheet 中文版 来源,2张图覆盖了几乎所有常用的 Pandas 用法. Pandas_Cheat_Sheet_中文版.pdf 下载 Pandas 数据处理(二) - 筛选数据 选取列,使用方括号 选取行,行标签使用loc,行号使用iloc,ix兼容处理loc与iloc(deprecated) 简单的逻辑判断(<, >, ==, &, |, ~ 等) 自定义函数,loc,apply,lambda Pandas 数据处理(一) -

Python3快速入门(十五)——Pandas数据处理

Python3快速入门(十五)--Pandas数据处理 一.函数应用 1.函数应用简介 如果要将自定义函数或其它库函数应用于Pandas对象,有三种使用方式.pipe()将函数用于表格,apply()将函数用于行或列,applymap()将函数用于元素. 2.表格函数应用 可以通过将函数对象和参数作为pipe函数的参数来执行自定义操作,会对整个DataFrame执行操作. # -*- coding=utf-8 -*- import pandas as pd import numpy as np

Pandas数据处理实战:福布斯全球上市企业排行榜数据整理

手头现在有一份福布斯2016年全球上市企业2000强排行榜的数据,但原始数据并不规范,需要处理后才能进一步使用. 本文通过实例操作来介绍用pandas进行数据整理. 照例先说下我的运行环境,如下: windows 7, 64位 python 3.5 pandas 0.19.2版本 在拿到原始数据后,我们先来看看数据的情况,并思考下我们需要什么样的数据结果. 下面是原始数据: 在本文中,我们需要以下的初步结果,以供以后继续使用. 可以看到,原始数据中,跟企业相关的数据中(“Sales”,“Prof

python数据分析实战-第6章-深入pandas数据处理

第6章 深入pandas:数据处理 117 6.1 数据准备 117 合并 1234567891011 #merge是两个dataframe共同包含的项import numpy as npimport pandas as pdframe1 = pd.DataFrame( {'id':['ball','pencil','pen','mug','ashtray'], 'price': [12.33,11.44,33.21,13.23,33.62]})print(frame1)print()frame

pandas数据处理

1.删除重复元素 使用duplicated()函数检测重复的行,返回元素为布尔类型的Series对象,每个元素对应一行,如果该行不是第一次出现,则元素为True. - keep参数:指定保留哪一重复的行数据 - True 重复的行 创建具有重复元素行的DataFrame from pandas import Series,DataFrame import numpy as np import pandas as pd #创建一个df np.random.seed(10) df = DataFra

python pandas 数据处理

from pandas import Series,DataFrame import pandas as pd import numpy as np python中pandas.DataFrame对行与列求和及添加新行与列示例 df = DataFrame(np.random.randn(4, 5), columns=['A', 'B', 'C', 'D', 'E']) df['Col_sum'] = df.apply(lambda x: x.sum(), axis=1) df.loc['Row

pandas 数据处理

1. 查看数值数据的整体分布情况 datafram.describe() 输出: agecount 1463.000000mean 22.948052std 8.385384min 13.00000025% 17.00000050% 20.00000075% 27.000000max 64.000000 其中的25%,50%这些是百分位数. 百分位数的定义为: 统计学术语,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数.可表示为:一组n个

Pandas数据处理+Matplotlib绘图案例

利用pandas对数据进行预处理然后再使用matplotlib对处理后的数据进行数据可视化是数据分析中常用的方法. 第一组例子(星巴克咖啡店) 假如我们现在有这样一组数据:星巴克在全球的咖啡店信息,如下图所示.数据来源:starbucks_store_locations. 店铺总数排名前10的国家 # coding=utf-8 # 统计店铺数排名前10的国家 import pandas as pd from matplotlib import pyplot as plt from matplot

Pandas数据处理一

Pandas 是在NumPy 基础上建立的新程序库, 提供了一种高效的 DataFrame 数据结构. DataFrame 本质上是一种带行标签和列标签. 支持相同类型数据和缺失值的多维数组. Pandas 不仅为带各种标签的数据提供了便利的存储界面, 还实现了许多强大的操作, 这些操作对数据库框架和电子表格程序的用户来说非常熟悉. 建立在NumPy 数组结构上的 Pandas, 尤其是它的 Series 和 DataFrame 对象, 为数据科学家们处理那些消耗大量时间的“数据清理”(data

Pandas数据处理二

3.7 合并数据集: Concat与Append操作将不同的数据源进行合并是数据科学中最有趣的事情之一, 这既包括将两个不同的数据集非常简单地拼接在一起, 也包括用数据库那样的连接(join) 与合并(merge) 操作处理有重叠字段的数据集. Series 与DataFrame 都具备这类操作, Pandas 的函数与方法让数据合并变得快速简单. 先来用 pd.concat 函数演示一个 Series 与 DataFrame 的简单合并操作. 之后, 我们将介绍 Pandas 中更复杂的 me