我有一只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
对象是什么以及如何使用它.
如何反转pandas.dataframe中行的顺序?
我到处看,唯一的事情人们都在谈论的排序列,扭转了顺序列 ...
我想要的很简单:
如果我的DataFrame看起来像这样:
A B C
------------------
LOVE IS ALL
THAT MAT TERS
Run Code Online (Sandbox Code Playgroud)
我希望它成为这个:
A B C
------------------
THAT MAT TERS
LOVE IS ALL
Run Code Online (Sandbox Code Playgroud)
我知道我可以按相反的顺序迭代我的数据但这不是我想要的.
我知道如何遍历pandas DataFrame的行:
for id, value in df.iterrows():
Run Code Online (Sandbox Code Playgroud)
但现在我想以相反的顺序遍历行(id
是数字,但与行号不一致).首先,我想到对索引进行排序data.sort(ascending = False)
然后运行相同的迭代过程,但它不起作用(它似乎仍然从较小id
到较大).
我怎么能做到这一点?
我有以下代码来显示堆积条
handles = df.toPandas().set_index('x').T.plot(kind='bar', stacked=True, figsize=(11,11))
plt.legend(loc='best', title="Line", fontsize = 'small', framealpha=0)
plt.ylabel("'" + lineName + "'")
plt.show()
Run Code Online (Sandbox Code Playgroud)
我想颠倒我用过的传奇顺序,handles=handles[::-1]
但是我收到了一个错误.