pandas loc on str lower for column comparison
Piet van Oostrum
piet-l at vanoostrum.org
Thu Sep 5 17:44:03 EDT 2019
Sayth Renshaw <flebber.crue at gmail.com> writes:
> On Sunday, 1 September 2019 10:48:54 UTC+10, Sayth Renshaw wrote:
>> I've created a share doc same structure anon data from my google drive.
>>
>> https://drive.google.com/file/d/0B28JfFTPNr_lckxQRnFTRF9UTEFYRUVqRWxCNVd1VEZhcVNr/view?usp=sharing
>>
>> Sayth
>
> I tried creating the df1 dataframe by using iloc instead of loc to avoid any column naming issues.
>
> So i created a list of integers for iloc representing the columns in current example.
>
> df1 = df.iloc[[0,1,5,6,7]]
>
> However, I ust be misunderstanding the docs
> https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html#pandas.DataFrame.iloc
> Allowed inputs are:
>
> An integer, e.g. 5.
> A list or array of integers, e.g. [4, 3, 0].
>
> Because while it works I appear to grab all columns 13 when I requested 5.
> UID Name FTE Agent ID Current Leader New Leader Current Team New
> Team Current Site New Site Unnamed: 10 Unnamed: 11 Unnamed: 12
>
> How do I misunderstand iloc?
>
That would select ROWS 0,1,5,6,7, not columns.
To select columns 0,1,5,6,7, use two-dimensional indexes
df1 = df.iloc[:, [0,1,5,6,7]]
: selects all rows.
--
Piet van Oostrum <piet-l at vanoostrum.org>
WWW: http://piet.vanoostrum.org/
PGP key: [8DAE142BE17999C4]
More information about the Python-list
mailing list