在 Pandas Dataframe 中选择多列
在从 Pandas DataFrame 中提取多列数据时,我们可能会遇到一些问题,这主要是因为他们把 Dataframe 当作一个二维数组。要从 DataFrame 中选择多列数据,我们可以使用基本的索引方法,将列名列表传递给 __getitem__
语法([]
),或者使用 Pandas 库提供的 iloc()
和 loc()
方法。在本教程中,我们将从以下 DataFrame 中选择多列。
示例 DataFrame:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])
print(df)
输出:
a b c d
0 0.255086 0.282203 0.342223 0.263599
1 0.744271 0.591687 0.861554 0.871859
2 0.420066 0.713664 0.770193 0.207427
3 0.014447 0.352515 0.535801 0.119759
使用 __getitem__
语法([]
)选择多列
通过将要提取的列名存储在一个列表中,然后传递给 []
,我们可以从 DataFrame 中选择多个列。下面的代码将解释我们如何从之前显示的 DataFrame 中选择列 a
和 c
。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])
print(df[['a','c']])
输出:
a c
0 0.255086 0.342223
1 0.744271 0.861554
2 0.420066 0.770193
3 0.014447 0.535801
在 Pandas 中使用 iloc()
和 loc()
方法选择多列
我们还可以使用 iloc()
和 loc()
方法来选择多列。
当我们要使用列索引来提取它们时,我们可以使用 iloc()
,如下例所示。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])
print(df.iloc[:,[0,2]])
输出:
a c
0 0.255086 0.342223
1 0.744271 0.861554
2 0.420066 0.770193
3 0.014447 0.535801
同样,当我们想使用列名来选择列时,我们可以使用 loc()
,如下图所示。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])
print(df.loc[:,['a','c']])
输出:
a c
0 0.255086 0.342223
1 0.744271 0.861554
2 0.420066 0.770193
3 0.014447 0.535801
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。