簡體   English   中英

如何將值添加到 pandas dataframe 中的列中的某個索引(python)

[英]how to add values to certain index in column in pandas dataframe (python)

我有一個像這樣的 dataframe (結果):

指數 結果
0 1
1 -1
2 1

我有另一個 dataframe (信號)是這樣的:

指數 信號
0 200
1 300
2 250
3 450
4 345
5 534

我想在信號中添加一列,以便結果中的值將在該列中復制兩次,例如

指數 信號 結果
0 200 1
1 300 1
2 250 -1
3 450 -1
4 345 1
5 534 1

注意:結果中索引 0 的 1 在信號的索引 0 和 1 中復制兩次,依此類推。 我該怎么做 go?

IIUC,您只想重復兩次results並將其分配給signals中的一列,對嗎? 在這種情況下,您可以使用np.repeat

import numpy as np
signals['results'] = np.repeat(results['results'].to_numpy(), 2)

Output:

   index  signals  results
0      0      200        1
1      1      300        1
2      2      250       -1
3      3      450       -1
4      4      345        1
5      5      534        1

@mozway 的答案比我的更相關,因為他使用Series.repeat而不是Index.repeat @Manlai 的回答也很有趣。

使用Index.repeat

n = len(signals) // len(results)  # twice
signals['results'] = results.reindex(results.index.repeat(n)).to_numpy()
print(signals)

# Output
   signals  results
0      200        1
1      300        1
2      250       -1
3      450       -1
4      345        1
5      534        1

保持簡單,只需使用 Series 的repeat方法:

n = len(signals) // len(results)
signals['results'] = result['results'].repeat(n).to_numpy()

output:

   index   signals  results
0       0      200        1
1       1      300        1
2       2      250       -1
3       3      450       -1
4       4      345        1
5       5      534        1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM