采用数据框,说白
$recent_posts = wp_get_recent_posts( array( 'numberposts' => '1' ) );
echo $recent_posts[0]['post_date'];
现在我想更改第一列中的单元格 我可以这样做:
df = pd.DataFrame([[1,2],[3,4],[5,6]],columns=['A','B'])
A B
0 1 2
1 3 4
2 5 6
但是,如果我没有任何列名,该怎么办?
df.loc[df['A'] > 1,'A'] = 10
A B
0 1 2
1 10 4
2 10 6
给了我与df.iloc[:,0] > 1
相同的面具
而
df['A'] > 1
完美无缺,
使用
df.loc[df.iloc[:,0] > 1,'A'] = 10
在最初的df上以某种方式返回此错误:
NotImplementedError:对整数类型的基于iLocation的布尔索引不可用
有没有办法只使用整数索引更改特定单元格?
答案 0 :(得分:3)
使用.loc
和.iloc
之间的DataFrame.ix
:
.ix []支持基于混合整数和标签的访问。它主要基于标签,但将回退到整数位置访问,除非相应的轴是整数类型。
在你的情况下:
In [1]: df.ix[df.iloc[:,0]>1,1] = 10
In [2]: df
Out[2]:
A B
0 1 2
1 3 10
2 5 10
修改:.ix
现已正式弃用(自0.20.0开始,请参阅here)
您可以使用.loc
并使用df.columns[i]
代替,例如。与上述相同的是:
df.loc[df.iloc[:,0]>1,df.columns[1]] = 10
答案 1 :(得分:0)