我有一只DataFrame熊猫:
import pandas as pd
inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]
df = pd.DataFrame(inp)
print df
Run Code Online (Sandbox Code Playgroud)
输出:
c1 c2
0 10 100
1 11 110
2 12 120
Run Code Online (Sandbox Code Playgroud)
现在我想迭代这个帧的行.对于每一行,我希望能够通过列的名称访问其元素(单元格中的值).例如:
for row in df.rows:
print row['c1'], row['c2']
Run Code Online (Sandbox Code Playgroud)
是否有可能在熊猫中做到这一点?
我发现了类似的问题.但它没有给我我需要的答案.例如,建议使用:
for date, row in df.T.iteritems():
Run Code Online (Sandbox Code Playgroud)
要么
for row in df.iterrows():
Run Code Online (Sandbox Code Playgroud)
但我不明白row对象是什么以及如何使用它.
当我使用python通过urllib2 request或urllib.urlretrieve从url保存图像时,我遇到了问题.这是图像的网址是有效的.我可以使用资源管理器手动下载它.但是,当我使用python下载图像时,无法打开该文件.我使用Mac OS预览来查看图像.谢谢!
更新:
代码如下
def downloadImage(self):
request = urllib2.Request(self.url)
pic = urllib2.urlopen(request)
print "downloading: " + self.url
print self.fileName
filePath = localSaveRoot + self.catalog + self.fileName + Picture.postfix
# urllib.urlretrieve(self.url, filePath)
with open(filePath, 'wb') as localFile:
localFile.write(pic.read())
Run Code Online (Sandbox Code Playgroud)
我想下载的图片网址是 http://site.meishij.net/r/58/25/3568808/a3568808_142682562777944.jpg
此URL有效,我可以通过浏览器保存,但python代码将下载无法打开的文件.预览说"它可能已损坏或使用预览无法识别的文件格式".我比较了我用Python下载的图像和我通过浏览器手动下载的图像.前者的大小要小几个字节.所以似乎文件未完成,但我不知道为什么python无法完全下载它.