我正在使用itertuples迭代一个pandas数据帧。我还想在迭代时捕获行号:
for row in df.itertuples():
print row['name']
预期产出:
1 larry
2 barry
3 michael
1,2,3是行号。我想避免使用计数器并获取行号。有没有一种简单的方法可以使用熊猫实现这一目标?
答案 0 :(得分:20)
使用class MyViewController: UIViewController {
var webView: WKWebView?
override viewDidLoad() {
super.viewDidLoad()
//...
self.webView.scrollView.delegate = self
//...
}
}
extension MyViewController: UIScrollViewDelegate {
func scrollViewWillBeginZooming(_ scrollView: UIScrollView, with view: UIView?) {
scrollView.pinchGestureRecognizer?.isEnabled = false
}
}
时,每行都会获得一个名为itertuples
的内容。默认情况下,您可以使用tuple
访问该行的索引值。
如果索引值不是您要查找的内容,那么您可以使用row.Index
enumerate
for i, row in enumerate(df.itertuples(), 1):
print(i, row.name)
取代了丑陋的反建构
答案 1 :(得分:4)
for row in df.itertuples():
print(getattr(row, 'Index'), getattr(row, 'name'))
答案 2 :(得分:2)
对于不是有效Python名称的列名称,请使用:
for row in df.itertuples(index=False):
print(row[df.columns.get_loc('My nasty - column / name')])
如果您未指定index=False
,则将读取名称前的列。