【问题标题】:Selecting columns in Panda在 Panda 中选择列
【发布时间】:2021-02-18 14:03:57
【问题描述】:

只是好奇,对 Python 中的 Panda 还很陌生,

   a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z
0  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
1  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2

有没有一种有效的方法选择列ab,然后从jt,导致输出是这样的,

   a  b  j  k  l  m  n  o  p  q  r  s  t
0  1  1  1  1  1  1  1  1  1  1  1  1  1
1  2  2  2  2  2  2  2  2  2  2  2  2  2

我可以试试,

original_column = original_dataframe[['a', 'b'...]]

但这太麻烦了我宁愿使用索引但不知道如何

【问题讨论】:

  • .loc 在 pandas 中支持像 j:t 这样的切片对象
  • .. 警告:: 请注意,与通常的 python 切片相反,开始和停止都包括在内

标签: python pandas dataframe multiple-columns


【解决方案1】:

用途:

df = df[['a','b'] + df.loc[:, 'j':'t'].columns.tolist()]
print (df)
   a  b  j  k  l  m  n  o  p  q  r  s  t
0  1  1  1  1  1  1  1  1  1  1  1  1  1
1  2  2  2  2  2  2  2  2  2  2  2  2  2

或者:

df = pd.concat([df[['a','b']], df.loc[:, 'j':'t']], axis=1)
print (df)
   a  b  j  k  l  m  n  o  p  q  r  s  t
0  1  1  1  1  1  1  1  1  1  1  1  1  1
1  2  2  2  2  2  2  2  2  2  2  2  2  2

【讨论】:

  • 非常感谢,现在我可以有效地选择不同位置和范围的多个列
  • @JohnNg - 超级!如果我的回答有帮助,请不要忘记accept。谢谢。
【解决方案2】:

尝试删除列

 df.drop(['B', 'C'], axis=1)

您将获得仅剩余列的 df。

【讨论】:

  • 我不是巨魔。您可以删除列。
猜你喜欢
  • 2017-09-13
  • 1970-01-01
  • 1970-01-01
  • 2015-09-03
  • 1970-01-01
  • 2017-10-08
  • 2018-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多