【发布时间】:2018-04-09 09:52:15
【问题描述】:
所以我现在已经很好地掌握了 Pandas,我正在尝试分析一个 CSV 文件,但希望做一些不同的事情,我看的不是一行一列,而是一行两列,旨在根据 CSV 文件扩展列数。
我的代码是:
import pandas as pd
df = pd.read_csv("UNdata_Export_20180402_123348163.csv")
df = df.set_index(["Country or Area"])
df3 = df[df.columns[0:3]]
df3=df.loc["Australia"]
print(df3)
所以输出是:
Year Count Rate Source Source Type
Country or Area
Australia 2010 229 1.0 CTS/NSO CJ
Australia 2009 263 1.2 CTS/NSO CJ
Australia 2008 261 1.2 CTS/NSO CJ
Australia 2007 255 1.2 CTS/NSO CJ
Australia 2006 281 1.4 CTS/NSO CJ
Australia 2005 259 1.3 CTS/NSO CJ
Australia 2004 264 1.3 CTS/NSO CJ
Australia 2003 302 1.5 CTS/NSO CJ
Australia 2002 318 1.6 CTS/NSO CJ
Australia 2001 310 1.6 CTS/NSO CJ
Australia 2000 302 1.6 CTS/NSO CJ
Australia 1999 343 1.8 CTS/NSO CJ
Australia 1998 285 1.5 CTS/NSO CJ
Australia 1997 321 1.7 CTS/NSO CJ
Australia 1996 312 1.7 CTS/NSO CJ
Australia 1995 326 1.8 CTS/NSO CJ
我很难只选择“年份”和“比率”列,因为上面的代码会打印出特定国家/地区澳大利亚的所有内容。另外,我不太确定如何设置“df3=df[df.columns[0:3]]”。好像如果我更改数字 3,它不会做任何事情。
问题:我如何选择多个特定列,比如两个?从那,我怎么能选择 3 列或更多列?我需要更改哪些值?
我查看了 Python API,但找不到类似的问题。编辑:这个问题与链接问题不同,因为我选择了特定的行和特定的列。据我了解,其他问题的行很好,他们并没有尝试选择特定的行。
【问题讨论】:
-
试试
df3=df.loc["Australia", df.columns[0:3]]。这个想法是您可以同时按标签选择行和列。