选择一行或两行以上的Python/Pandas文件

2024-04-27 21:07:55 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我现在已经很好地掌握了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)

所以输出是:

^{pr2}$

我很难只选择年份和评级列,因为上面的代码会打印出特定国家澳大利亚的所有信息。另外,我不太确定如何设置“df3=df”[数据框列[0:3]]”。好像我把数字3改了,它什么也没做。在

问题:如何选择多个特定列,比如两个?从中,我如何选择3列或更多列?我需要更改哪些值?在

我看过pythonapi,但没有找到类似的问题。编辑:这个问题与链接问题不同,因为我选择的是特定的行和列。根据我的理解,另一个问题的行是好的,他们没有试图选择特定的行。在


Tags: 文件csv代码import目的pandasdfread
2条回答

如果要同时按姓名和职位选择,以下是两种可能的解决方案:

print (df.columns[:2])
Index(['Year', 'Count'], dtype='object')

#select by names only, for columns get names by select columns by slicing
df3 = df.loc["Australia", df.columns[:2]]

与按索引和列中的名称选择相同:

^{pr2}$

对于“按位置选择”仅使用^{}^{}

#select by positions only, for index get position
df3 = df.iloc[df.index.get_loc("Australia"), 0:2]

选择前n列:

df.iloc[:, :n]

要根据名称选择一组特定的列:

^{pr2}$

相关问题 更多 >