我有一个数据框(DataFrame),其中有一个名为“pred”的空列,我希望用一些特定的值来更新它。这些值最初在一个numpy数组中,但我将它们放入了一个叫做“this”的系列(Series)中:
print(type(predictions))
print(predictions)
['collection2' 'collection2' 'collection2' 'collection1' 'collection2'
'collection1']
this = pd.Series(predictions, index=test_indices)
print(type(data))
<class 'pandas.core.frame.DataFrame'>
print(data.shape)
(35, 4)
print(data.iloc[test_indices])
class pred text \
223 collection2 [] Fellow-Citizens of the Senate and House of Rep...
20 collection1 [] The period for a new election of a citizen to ...
12 collection1 [] Fellow Citizens of the Senate and of the House...
13 collection1 [] Whereas combinations to defeat the execution o...
212 collection2 [] MR. PRESIDENT AND FELLOW-CITIZENS OF NEW-YORK:...
230 collection2 [] Fellow-Countrymen:\nAt this second appearing t...
title
223 First Annual Message
20 Farewell Address
12 Fifth Annual Message to Congress
13 Proclamation against Opposition to Execution o...
212 Cooper Union Address
230 Second Inaugural Address
print(type(this))
<class 'pandas.core.series.Series'>
print(this.shape)
(6,)
print(this)
0 collection2
1 collection1
2 collection1
3 collection1
4 collection2
5 collection2
我以为我可以这样做:
我以为我可以像这样做:
data.iloc[test_indices, [4]] = this
但这会导致结果是什么。
IndexError: positional indexers are out-of-bounds
或者
data.ix[test_indices, ['pred']] = this
KeyError: '[0] not in index'