如何使用Python Pandas更新行和列
让我们了解如何使用Python的pandas库来更新表格的行和列。在现实世界中,大多数情况下,我们得到的数据集都无法直接进行分析。可能存在很多不一致的值、无效的数值、不正确的标签等等。因此,更新这些值以达到数据的一致性非常重要。在本教程中,我们将重点介绍如何使用pandas库来更新Python中的行和列。不多花时间在介绍上,让我们立即开始!
创建一个Pandas数据框架。 Pandas .)
在整个教程中,我们将使用一个现在要创建的数据帧。这将让你了解数据的更新操作。在此之后,你可以将这些方法应用到你的数据上。
为了创建一个数据帧,pandas提供了函数名pd.DataFrame,它可以帮助你从一些数据创建一个数据帧。让我们看看它是如何工作的。
#create a dictionary
import pandas as pd
fruit_data = {"Fruit": ['Apple','Avacado','Banana','Strawberry','Grape'],"Color": ['Red','Green','Yellow','Pink','Green'],
"Price": [45, 90, 60, 37, 49]
}
fruit_data
在这里,我们创建了一个包含一些数据值的Python字典。现在,我们被要求将这个字典转换成一个pandas数据框。
#Dataframe
data = pd.DataFrame(fruit_data)
data

太完美了!使用pandas中的pd.DataFrame函数,您可以轻松将字典转换为pandas dataframe。我们的数据集现在准备好进行未来的操作了。
更多阅读:如何使用Pandas修改列顺序。
更新列
有时候,栏目或特征的名称会不一致,可能涉及到字母大小写等方面。统一的设计有助于我们更有效地处理这些特征。
所以,作为第一步,我们将看看如何更新/更改我们数据中的列或特征名称。
#update the column name
data.rename(columns = {'Fruit':'Fruit Name'})

就是这样。就像上面显示的那样简单。您甚至可以一次更新多个列名。为此,您需要在花括号下面用逗号分隔其他列名。
#multile column update
data.rename(columns = {'Fruit':'Fruit Name','Colour':'Color','Price':'Cost'})
就像这样,你可以同时更新所有的列。
3. 更新列名的大小写。
当你在处理拥有许多列的数据集时,可能会遇到列名一致性方面的不一致。
在我们的数据中,你可以观察到所有列名的首字母都是大写的。我们建议为所有列名使用统一的大小写。
嗯,你可以选择将它们转换为大写或小写。
#lower case
data.columns.str.lower()
data

现在,我们所有的列都是小写的。
4. 更新行值
与更新列类似,行值的更新也非常简单。首先要定位行值,然后可以使用新的值更新该行。
你可以使用pandas的loc函数来定位行。
#updating rows
data.loc[3]
Fruit Strawberry
Color Pink
Price 37
Name: 3, dtype: object
我们找到了第3行,上面有关于水果“草莓”的详细信息。现在,我们需要将该行更新为一个新的水果“菠萝”以及它的详细信息。
我们开始吧!
#update
data.loc[3] = ['PineApple','Yellow','48']
data

就是这样了。我希望你也觉得这个更新数据中的行值很容易。现在,假设你只需要更新一行中的一些细节而不是全部内容。那么,你对此有何解决方案?
#update specific values
data.loc[3, ['Price']]
Price 48
Name: 3, dtype: object
我们只需要更新第三行水果的价格。我们得知那种水果当前的价格是48。但是,我们要把它更新到65。让我们来做吧。
#updating
data.loc[3, ['Price']] = [65]
data

太棒了!
我们使用了一行Python代码将菠萝水果的价格更新为65。就是这样的工作方式,非常简单。
根据条件更新行和列。
是的,我们现在要根据特定条件更新行的值。最终,我们希望得到一些有意义的值,这对我们的分析会有所帮助。
让我们来定义我们的条件。
#Condition
updated = data['Price'] > 60
updated
我们要做的是将价格高于60的水果更新为昂贵。
0 False
1 True
2 False
3 True
4 False
Name: Price, dtype: bool
根据输出结果,我们有两种水果的价格超过60元。让我们将这些水果在数据中标记为贵的。
#Updating
data.loc[updated, 'Price'] = 'Expensive'
data

相信我,你很棒:)。
你以令人惊叹和完美的方式完成了这个任务。在整个教程中,我从未用过两行以上的代码。我能给出的最好建议就是尽可能多地学习 pandas。这是一个非常强大的库,提供了许多一行代码就能完美完成工作的函数。
总结 – 更新行和列
在进行任何分析之前,更新数据的行和列是我们应该关注的主要事项之一。通过简单的函数和代码,我们可以使数据变得更有意义,在这个过程中,我们肯定会对数据质量和任何进一步的需求也有一些见解。如果我们的数据正确,相信我,你可以发现许多珍贵的未曾听闻的故事。
希望这个教程对你有所帮助,请别忘记在你的分析工作中实践这些方法。
现在就这样吧,祝你愉快的Python之旅!
更多阅读:Pandas DataFrame