相关疑难解决方法(0)

按列名从pandas DataFrame中删除列

删除DataFrame中的列时,我使用:

del df['column_name']
Run Code Online (Sandbox Code Playgroud)

这很有效.为什么我不能使用以下?

del df.column_name
Run Code Online (Sandbox Code Playgroud)

由于您可以访问列/系列df.column_name,我希望这可以工作.

python dataframe pandas

1136
推荐指数
15
解决办法
150万
查看次数

从pandas DataFrame中删除名称中包含特定字符串的列

我有一个带有以下列名的pandas数据帧:

Result1,Test1,Result2,Test2,Result3,Test3等......

我想删除名称中包含单词"Test"的所有列.这些列的数量不是静态的,而是取决于先前的函数.

我怎样才能做到这一点?

python dataframe pandas

74
推荐指数
9
解决办法
6万
查看次数

删除pandas中的多个列

我试图通过以下代码在pandas数据框中删除索引号的多列(我的数据集中的第2列和第70列,分别索引为1和69):

df.drop([df.columns[[1, 69]]], axis=1, inplace=True)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: unhashable type: 'Index'
Run Code Online (Sandbox Code Playgroud)

在我的代码中,[1,69]突出显示并说:

Expected type 'Integral', got 'list[int]' instead
Run Code Online (Sandbox Code Playgroud)

下面的代码执行我想要它成功完成的操作,但是在两行重复代码上(首先删除col索引69,然后是1,并且顺序很重要,因为删除先前的列会更改后面列的索引).我以为我可以简单地将多个列索引指定为列表,但也许我上面有错误?

df.drop([df.columns[69]], axis=1, inplace=True)
df.drop([df.columns[1]], axis=1, inplace=True)
Run Code Online (Sandbox Code Playgroud)

有没有办法可以在一行上执行此操作,类似于上面的第一个代码片段?

python pandas

60
推荐指数
2
解决办法
12万
查看次数

删除pandas中列的最佳方法是什么

我正在为自学而提出这个问题.据我所知,以下是删除pandas数据帧中列的不同方法.

选项1:

df=pd.DataFrame({'a':[1,2,3,4,5],'b':[6,7,8,9,10],'c':[11,12,13,14,15]})
del df['a']
Run Code Online (Sandbox Code Playgroud)

选项-2:

df=pd.DataFrame({'a':[1,2,3,4,5],'b':[6,7,8,9,10],'c':[11,12,13,14,15]})
df=df.drop('a',1)
Run Code Online (Sandbox Code Playgroud)

选项-3:

df=pd.DataFrame({'a':[1,2,3,4,5],'b':[6,7,8,9,10],'c':[11,12,13,14,15]})
df=df[['b','c']]
Run Code Online (Sandbox Code Playgroud)
  1. 这些中最好的方法是什么?
  2. 有没有其他方法可以实现相同的目标?

python dataframe pandas

11
推荐指数
2
解决办法
2万
查看次数

使用Python从数据框中删除多个列

我知道如何使用Python从数据框中删除列.但是对于我的问题,数据集很大,我想要删除的列被组合在一起,或者基本上是在列标题轴上单独展开.是否有一种更短的方法来切割或删除所有列的代码行数较少,而不是像我所做的那样将其写出来.我在这里的方式是有效的,但我想要一个更加总结的方式.

flight_data_copy_final是应该存储它的变量.

提前致谢

这是我的代码:

from IPython.display import display

flight_data_copy_version1 = flight_data_copy.drop(flight_data_copy.ix[:,"Year": "FlightDate"].columns, axis=1)
flight_data_copy_version2 = flight_data_copy_version1.drop("TailNum", axis=1)
flight_data_copy_version3 = flight_data_copy_version2.drop("OriginStateFips", axis=1)
flight_data_copy_version4 = flight_data_copy_version3.drop("DestStateFips", axis=1)
flight_data_copy_version5 = flight_data_copy_version4.drop("Diverted", axis=1)
flight_data_copy_version6 = flight_data_copy_version5.drop("Flights", axis=1)
flight_data_copy_final = flight_data_copy.drop(flight_data_copy_version6.ix[:,"FirstDepTime":].columns, axis=1)

print (display (flight_data_copy_final))
Run Code Online (Sandbox Code Playgroud)

python data-manipulation dataframe pandas

8
推荐指数
2
解决办法
3万
查看次数

如果未在熊猫的特定列表中显示列,如何删除列

我有一个熊猫数据框,它有一些列。如果列表中未显示列,我想删除它们。

熊猫数据框列:

list(pandas_df.columns.values)
Run Code Online (Sandbox Code Playgroud)

结果:

['id', 'name' ,'region', 'city']
Run Code Online (Sandbox Code Playgroud)

和我期望的列名称:

final_table_columns = ['id', 'name', 'year']
Run Code Online (Sandbox Code Playgroud)

经过x次运算的结果应该是:

list(pandas_df.columns.values)

['id', 'name']
Run Code Online (Sandbox Code Playgroud)

pandas

1
推荐指数
3
解决办法
82
查看次数

标签 统计

pandas ×6

python ×5

dataframe ×4

data-manipulation ×1