Pandas:如何从现有的 dataframe 创建新的 dataframe


从现有 DataFrame 创建新的 pandas DataFrame 有三种常见方法:

方法 1:使用旧 DataFrame 中的多个列创建新 DataFrame

 new_df = old_df[[' col1 ', ' col2 ']]. copy ()

方法 2:使用旧 DataFrame 中的列创建新 DataFrame

 new_df = old_df[[' col1 ']]. copy ()

方法 3:使用旧 DataFrame 中除一列之外的所有列创建一个新 DataFrame

 new_df = old_df. drop (' col1 ', axis= 1 )

以下示例展示了如何将每种方法与以下 pandas DataFrame 一起使用:

 import pandas as pd

#createDataFrame
old_df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                       ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                       ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                       ' rebounds ': [11, 8, 10, 6, 6, 7, 9, 12]})

#view DataFrame
print (old_df)

示例 1:使用旧 DataFrame 中的多个列创建新 DataFrame

以下代码演示了如何使用旧 DataFrame 中的多个列创建新 DataFrame:

 #create new DataFrame from existing DataFrame
new_df = old_df[[' points ', ' rebounds ']]. copy ()

#view new DataFrame
print (new_df)

   rebound points
0 18 11
1 22 8
2 19 10
3 14 6
4 14 6
5 11 7
6 20 9
7 28 12

#check data type of new DataFrame
type (new_df)

pandas.core.frame.DataFrame

请注意,这个新的 DataFrame 仅包含旧 DataFrame 中的反弹列。

注意:在创建新的 DataFrame 时使用copy()函数非常重要,以避免在我们以任何方式修改新的 DataFrame 时出现任何SettingWithCopyWarning

示例 2:使用旧 DataFrame 中的列创建新 DataFrame

以下代码演示了如何使用旧 DataFrame 中的列创建新 DataFrame:

 #create new DataFrame from existing DataFrame
new_df = old_df[[' points ']]. copy ()

#view new DataFrame
print (new_df)

   points
0 18
1 22
2 19
3 14
4 14
5 11
6 20
7 28

#check data type of new DataFrame
type (new_df)

pandas.core.frame.DataFrame

请注意,这个新的 DataFrame 仅包含旧 DataFrame 的和列。

示例 3:使用旧 DataFrame 中除一列之外的所有列创建一个新 DataFrame

以下代码演示了如何使用旧 DataFrame 中除一列之外的所有列创建新 DataFrame:

 #create new DataFrame from existing DataFrame
new_df = old_df. drop (' points ', axis= 1 )

#view new DataFrame
print (new_df)

  team assists rebounds
0 to 5 11
1 to 7 8
2 to 7 10
3 to 9 6
4 B 12 6
5 B 9 7
6 B 9 9
7 B 4 12

#check data type of new DataFrame
type (new_df)

pandas.core.frame.DataFrame

请注意,这个新的 DataFrame 包含原始 DataFrame 中列之外的所有列。

其他资源

以下教程解释了如何在 Python 中执行其他常见任务:

如何创建带有列名称的空 Pandas DataFrame
如何向 Pandas DataFrame 添加列
如何向 Pandas DataFrame 添加多列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注