回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>向Stackoverflow社区问好</p>
<p>我试图读入一个.csv文件,其中包含1370行和两列:<code>Time</code>和{<cd2>}。在</p>
<pre><code>Time Speed
0 1
1 4
2 7
3 8
</code></pre>
<p>我想找出两个时间步(例如<code>Time</code><code>2</code>和{<cd6>},即<code>3</code>)之间在{<cd2>}之间的差异。我想添加一个新的列<code>dS</code>,其中包含先前计算的差异。数据现在看起来像:</p>
^{pr2}$
<p>我使用的代码如下:</p>
<pre><code>import pandas as pd
from pandas import read_csv
df2 = pd.read_csv ('speed.csv')
dVV = []
for i, row in df2.iterrows():
dVV.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(df2.iloc[i+1,1] - df2.iloc[i,1])
break
df2['dVV']=dVV
</code></pre>
<p>我得到的错误是:</p>
<pre><code>ValueError Traceback (most recent call last)
<ipython-input-29-4ed9fde37ff9> in <module>()
14 break
15
---> 16 df2['dVV']=dVV
17
18 #df2.to_csv('udds_test.csv', index=False, header=True)
~\Anaconda3\lib\site-packages\pandas\core\frame.py in __setitem__(self, key,
value)
2517 else:
2518 # set column
-> 2519 self._set_item(key, value)
2520
2521 def _setitem_slice(self, key, value):
~\Anaconda3\lib\site-packages\pandas\core\frame.py in _set_item(self, key,
value)
2583
2584 self._ensure_valid_index(value)
-> 2585 value = self._sanitize_column(key, value)
2586 NDFrame._set_item(self, key, value)
2587
~\Anaconda3\lib\site-packages\pandas\core\frame.py in _sanitize_column(self, key, value, broadcast)
2758
2759 # turn me into an ndarray
-> 2760 value = _sanitize_index(value, self.index, copy=False)
2761 if not isinstance(value, (np.ndarray, Index)):
2762 if isinstance(value, list) and len(value) > 0:
~\Anaconda3\lib\site-packages\pandas\core\series.py in _sanitize_index(data,
index, copy)
3119
3120 if len(data) != len(index):
-> 3121 raise ValueError('Length of values does not match length of '
'index')
3122
3123 if isinstance(data, PeriodIndex):
ValueError: Length of values does not match length of index
</code></pre>
<p>我猜在最后1370行之后代码正在中断。我该如何应对?在</p>