有人能解释这三种切片方法有何不同?
我已经看过这些文档了,我已经看到了这些 答案,但我仍然发现自己无法解释三者是如何不同的.对我来说,它们在很大程度上似乎是可以互换的,因为它们处于较低的切片水平.
例如,假设我们想获得a的前五行DataFrame
.这三个都是如何运作的?
df.loc[:5]
df.ix[:5]
df.iloc[:5]
Run Code Online (Sandbox Code Playgroud)
有人可以提出三种情况,其中使用的区别更清晰吗?
我构造了一个从我的数据框中提取一行的条件:
d2 = df[(df['l_ext']==l_ext) & (df['item']==item) & (df['wn']==wn) & (df['wd']==1)]
Run Code Online (Sandbox Code Playgroud)
现在我想从特定列中获取值:
val = d2['col_name']
Run Code Online (Sandbox Code Playgroud)
但结果我得到一个包含一行和一列(即一个单元格)的数据帧.这不是我需要的.我需要一个值(一个浮点数).我怎么能在熊猫里做到这一点?
最近开始从我的安全地点(R)扩展到Python,并且对于细胞定位/选择感到有些困惑Pandas
.我已经阅读了文档,但我很难理解各种本地化/选择选项的实际意义.
.loc
或.iloc
超过最常用的选项.ix
吗?.loc
,iloc
,at
,和iat
可以提供一些保证正确性是.ix
不能提供的,但我也看到了在那里.ix
往往是一刀切最快的解决方案..ix
?我在想,如果有调用的可能性idxmin
,并min
在同一时间(在相同的呼叫/循环)。
假设以下数据框:
id option_1 option_2 option_3 option_4
0 0 10.0 NaN NaN 110.0
1 1 NaN 20.0 200.0 NaN
2 2 NaN 300.0 30.0 NaN
3 3 400.0 NaN NaN 40.0
4 4 600.0 700.0 50.0 50.0
Run Code Online (Sandbox Code Playgroud)
我想计算该系列的最小值(min
)和包含最小值的列(idxmin
)option_
:
id option_1 option_2 option_3 option_4 min_column min_value
0 0 10.0 NaN NaN 110.0 option_1 10.0
1 1 NaN 20.0 200.0 NaN option_2 20.0
2 2 NaN 300.0 30.0 NaN option_3 30.0
3 …
Run Code Online (Sandbox Code Playgroud)