python中如何在pandas中向空的DataFrames添加数据

1,471 阅读3分钟

最受欢迎的第三方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之旅中很有用。编码愉快