如提取第1行,第2列的值:
1
|
df.iloc[[ 0 ],[ 1 ]] |
则会返回一个df,即有字段名和行号。
如果用values属性取值:
1
|
df.iloc[[ 0 ],[ 1 ]].values |
返回的值会是列表,而且是嵌套列表:
[[值]]
因此,正确的写法是:
1
|
df.iloc[[ 0 ],[ 1 ]].values[ 0 ][ 0 ] |
补充:pandas取出符合条件的某单元格的值
已经读取excel表中的值,得出DATAFRAME-----data1
想取出某些值写入另一个excel表
发现用data1[‘任务指标利润总额'][data1[‘企业']==namelist],给excel表中的单元格赋值,却失败
说是一个series,不能写入,只有用values[0]的方式才能写入
1
2
|
wbsheet.cell(row = index + 5 ,column = 21 ,value = data1[ '任务指标利润总额' ][data1[ '企业' ] = = namelist].values[ 0 ]) wbsheet.cell(row = index + 5 ,column = 22 ,value = data1[ '任务指标三项费用' ][data1[ '企业' ] = = namelist].values[ 0 ]) |
查了一些网页,发现:
1
2
|
dataframe[b][dataframe[a] = = 1 ].values[ 0 ] dataframe[dataframe[a] = = 1 ][b].values[ 0 ] #结果一样,但是过程不一样 |
但也没有更简便的写入方法。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://www.cnblogs.com/sxinfo/p/11827942.html