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 添加多列