2 回答

TA貢獻(xiàn)1785條經(jīng)驗 獲得超8個贊
您可以將要保留的所有行復(fù)制到一個新的數(shù)據(jù)框中,然后像這樣覆蓋您的第一個數(shù)據(jù)框:
import numpy as np
import pandas as pd
df1 = pd.DataFrame(np.random.randint(10,99, size=(13, 26)), columns =list('abcdefghijklmnopqrstuvwxyz'))
df2 = pd.DataFrame()
columns_to_keep = ["e", "r", "u"]
for column in columns_to_keep:
df2[column] = df1[column]
df1 = df2
df1
或者使用 for 語句刪除不在列表中的任何項目:
columns_to_keep = ["e", "r", "u"]
for column_name, column_data in df1.iteritems():
if column_name not in columns_to_keep:
df1 = df1.drop(column_name, axis=1)
df1

TA貢獻(xiàn)1821條經(jīng)驗 獲得超5個贊
讓我們只使用列過濾并重新分配回 df1:
df1 = pd.DataFrame(np.random.randint(10,99, size=(13, 26)), columns =list('abcdefghijklmnopqrstuvwxyz'))
columns_to_keep = ["e", "r", "u"]
df1 = df1[columns_to_keep]
df1.head()
輸出:
e r u
0 65 95 13
1 58 42 75
2 95 34 12
3 43 20 79
4 83 27 47
添加回答
舉報