📌  相关文章
📜  将数据附加到一个空的 Pandas DataFrame

📅  最后修改于: 2022-05-13 01:55:36.577000             🧑  作者: Mango

将数据附加到一个空的 Pandas DataFrame

让我们看看如何将数据附加到一个空的 Pandas DataFrame。

创建数据框并将列分配给它

# importing the module
import pandas as pd
  
# creating the DataFrame of int and float
a = [[1, 1.2], [2, 1.4], [3, 1.5], [4, 1.8]]
t = pd.DataFrame(a, columns =["A", "B"])
  
# displaying the DataFrame
print(t)
print(t.dtypes)

输出 :

在将浮点值附加到 int 值数据类型列时,生成的数据框列类型转换为浮点数以适应浮点值

如果我们使用参数ignore_index = True => 索引值将保持连续而不是从 0 重新开始,默认它的值为False

# Appending a Data Frame of float and int
s = pd.DataFrame([[1.3, 9]], columns = ["A", "B"])
display(s)
  
# makes index continuous
t = t.append(s, ignore_index = True)  
display(t)
  
# Resultant data frame is of type float and float
display(t.dtypes)  

输出 :

当我们将布尔格式数据附加到已经是浮点列类型的数据框中时,它将相应地更改值,以便仅在浮点数据类型域中容纳布尔值。

# Appending a Data Frame of bool and bool
u = pd.DataFrame([[True, False]], columns =["A", "B"])
display(u)
display(u.dtypes)
  
t = t.append(u)
display(t)
display(t.dtypes)  # type casted into float and float

输出 :

在将不同数据类型的数据附加到先前形成的数据帧时,生成的数据帧列类型将始终是更广泛的数据类型。

# Appending a Data Frame of object and object
x = pd.DataFrame([["1.3", "9.2"]], columns = ["A", "B"])
display(x)
display(x.dtypes)
  
t = t.append(x)
display(t)
display(t.dtypes)

输出 :

如果我们的目标是通过 for 循环创建数据框,那么最有效的方法如下:

# Creating a DataFrame using a for loop in efficient manner
y = pd.concat([pd.DataFrame([[i, i * 10]], columns = ["A", "B"])
               for i in range(7, 10)], ignore_index = True)
  
# makes index continuous
t = t.append(y, ignore_index = True)  
display(t)
display(t.dtypes)

输出

如果我们尝试在数据框中添加不同的列,则结果如下:

# Appending Different Columns
z = pd.DataFrame([["1.3", "9.2"]], columns = ["E", "F"])
t = t.append(z)
print(t)
print(t.dtypes)
print()

输出 :