最受欢迎的第三方Python软件包之一被称为pandas。pandas软件包 "是一个快速、强大、灵活和易于使用的开源数据分析和操作工具,建立在Python编程语言之上"。它被全世界的数据科学家和软件工程师所使用。
在本教程中,你将学习一点关于用pandas创建不同种类的空或部分空的DataFrames。然后,你将学习几种不同的方法来向该DataFrame添加数据。
具体来说,你将学习到以下内容。
- 创建一个空的DataFrame并添加数据
- 创建一个带列的空的DataFrame并添加数据
- 创建一个有列和索引的空数据框架并添加数据
在pandas中创建一个空的DataFrame
有时你只需要创建一个空的 DataFrame,就像你有时需要创建一个空的 Python 字典或列表一样。
下面是一个用pandas创建一个完全空的DataFrame的例子。
>>> import pandas as pd
>>> df = pd.DataFrame()
>>> df
Empty DataFrame
Columns: []
Index: []
当然,一个空的 DataFrame 并不是特别有用。所以让我们在 DataFrame 中添加一点数据吧!
>>> import pandas as pd
>>> df = pd.DataFrame()
>>> df
Empty DataFrame
Columns: []
Index: []
>>> df["Name"] = ["Mike", "Steve", "Rodrigo"]
>>> df["Jobs"] = ["Engineer", "Core Dev", "Content Creator"]
>>> df
Name Jobs
0 Mike Engineer
1 Steve Core Dev
2 Rodrigo Content Creator
这个例子演示了如何在pandas中指定列并向这些列添加数据。
现在让我们来学习如何创建一个空的DataFrame,其中包括列,但没有数据!
创建一个有列的空数据框架
接下来的例子将告诉你如何创建一个包括列的pandas DataFrame,但没有索引或列数据。
让我们来看看。
>>> import pandas as pd
>>> df = pd.DataFrame(columns=["Name", "Job"])
>>> df
Empty DataFrame
Columns: [Name, Job]
Index: []
# Add some data using append()
>>> df = df.append({"Name": "Mike", "Job": "Blogger"}, ignore_index=True)
>>> df
Name Job
0 Mike Blogger
>>> df = df.append({"Name": "Luciano", "Job": "Author"}, ignore_index=True)
>>> df
Name Job
0 Mike Blogger
1 Luciano Author
好吧,这总比一个完全空的DataFrame要好吧!在这个例子中,你还学会了如何使用DataFrame的append()方法来给每一列添加数据。
当你使用append()时,它接收了一个列名和值的字典。你还将ignore_index设置为True,这让pandas为你自动更新索引。
现在让我们来看看如何用pandas创建另一种类型的空数据框架
创建一个带有列和索引的空数据框架
在这个例子中,你将学习如何创建一个有两列和三个命名行或索引的pandas DataFrame。
下面是它是如何完成的。
>>> import pandas as pd
>>> df = pd.DataFrame(columns = ["Name", "Job"], index = ["a", "b", "c"])
>>> df
Name Job
a NaN NaN
b NaN NaN
c NaN NaN
当你打印出DataFrame时,你可以看到所有的列都包含NaN,它代表着 "不是一个数字"。NaN 有点像 Python 中的 None。
在 pandas 中向这个 DataFrame 添加数据的一种方法是使用loc 属性。
>>> df.loc["a"] = ["Mike", "Engineer"]
>>> df
Name Job
a Mike Engineer
b NaN NaN
c NaN NaN
>>> df.loc["b"] = ["Steve", "Core Dev"]
>>> df
Name Job
a Mike Engineer
b Steve Core Dev
c NaN NaN
>>> df.loc["c"] = ["Rodrigo", "Content Creator"]
>>> df
Name Job
a Mike Engineer
b Steve Core Dev
c Rodrigo Content Creator
当你使用loc 属性时,你使用类似于字典的语法来设置一个特定的索引到一个值的列表。上面的例子显示了如何添加三行数据。
总结
这个教程甚至还没有开始涉及到你可以用pandas做什么。但它不应该是这样的。这就是书的作用。在这里,你学到了如何创建三种不同类型的空DataFrames。
具体说来,你学到了以下内容。
- 创建一个空的DataFrame并添加数据
- 创建一个带列的空数据框架并添加数据
- 创建一个有列和索引的空数据框架并添加数据
希望你会发现这些例子在你的pandas之旅中很有用。编码愉快