当我们使用Python进行数据分析时,通常会使用pandas工具包。pandas中有一种数据结构叫做DataFrame,可以用来处理表格型数据。在一些情况下,我们需要先创建一个空的DataFrame,然后再逐行添加数据,下面就来讲解如何通过Python创建一个空的DataFrame,以及如何向其中添加行数据。
创建空的DataFrame
我们可以使用pandas.DataFrame()
方法来创建一个空的DataFrame。方法的语法如下:
pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)
其中,各参数的意义如下:
data
:DataFrame中的数据。如果不提供数据,则创建空DataFrame。index
:DataFrame中行的标签。columns
:DataFrame中列的标签。dtype
:指定DataFrame中每列的数据类型。copy
:复制数据而不是视图。
如果我们只是想要创建一个空的DataFrame,可以不传递任何参数,示例代码如下:
import pandas as pd
df = pd.DataFrame()
print(df)
输出结果为:
Empty DataFrame
Columns: []
Index: []
可以看到,这个DataFrame中没有任何数据行,也没有任何列。
向DataFrame中添加行数据
在创建了空的DataFrame之后,我们可以使用pandas.DataFrame.append()
方法向其中添加行数据。方法的语法如下:
DataFrame.append(
self,
other,
ignore_index=False,
verify_integrity=False,
sort=None
)
其中,各参数的意义如下:
other
:要添加的数据行,可以是一个DataFrame或Series。ignore_index
:是否忽略原索引并创建新的索引。verify_integrity
:如果为True,在添加数据时检查列是否重复或index是否重复,如果有重复则会抛出ValueError。sort
:如果为True,则按照列名排序。
接下来,我们用一个示例来演示如何向DataFrame中添加行数据。首先,我们先创建一个空的DataFrame:
import pandas as pd
df = pd.DataFrame()
print(df)
输出结果为:
Empty DataFrame
Columns: []
Index: []
接着,我们定义一个字典来表示一行数据,字典的键表示列名,字典的值表示对应列的数据值:
row_dict = {'name': 'Tom', 'age': 22, 'sex': 'male'}
然后,我们可以使用pandas.Series()
方法将这个字典转化为一个Series:
new_row = pd.Series(row_dict)
最后,我们使用pandas.DataFrame.append()
方法将这个Series添加到DataFrame中:
df = df.append(new_row, ignore_index=True)
print(df)
输出结果为:
age name sex
0 22 Tom male
可以看到,我们成功向DataFrame中添加了一行数据。
再来一个示例,假设我们要向DataFrame中添加多行数据。我们可以将多个字典转化为多个Series,然后使用for循环逐个添加,示例代码如下:
import pandas as pd
df = pd.DataFrame()
row_dict_1 = {'name': 'Tom', 'age': 22, 'sex': 'male'}
row_dict_2 = {'name': 'Susan', 'age': 18, 'sex': 'female'}
for row_dict in [row_dict_1, row_dict_2]:
new_row = pd.Series(row_dict)
df = df.append(new_row, ignore_index=True)
print(df)
输出结果为:
age name sex
0 22 Tom male
1 18 Susan female
可以看到,我们成功向DataFrame中添加了两行数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 创建一个空dataframe 然后添加行数据的实例 - Python技术站