簡體   English   中英

如何使用計算值在 pandas 中創建新列並為每一行分配特定值?

[英]How do I create a new column in pandas using calculated values and assign specific values to each row?

我有一個 dataframe df 喜歡

      Cards                   Height                    State Hash
0    1615427359331  ...         1945  3NK38AjJUMDcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT...
0    1615427359331  ...         1952  3NK38AjJUMvcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT...
0    1615427359331  ...         1958  3NK38AjJUMDhEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT...
0    1615427359331  ...         1952  3NK38AjJUMDcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT...
0    1615427359331  ...         1957  3NK38AjJUMhDcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT..

我已經計算了 dataframe 中出現次數最多的 State hash 的值和高度的中位數

使用這兩個計算值,我如何創建一個新列 ON/OFF。 並將值設置為 1 或 0。如果這兩個計算值匹配,則將設置值 1,否則將值設置為 0。如何使用 Pandas dataframe 執行此操作? 請幫忙。 謝謝!

**編輯:**這是我迄今為止嘗試過的

if [(dataframe['Block Height'] == median_highest_blocklen_recievd) & (dataframe['State Hash'] == most_commonrec_stat_hash)]:
    dataframe['online/offline'] = 1
if [(dataframe['Block Height'] != median_highest_blocklen_recievd) | (dataframe['State Hash'] != most_commonrec_stat_hash)]:
    dataframe['online/offline'] = -1

這給了我 dataframe 作為

      Cards                   Height                    State Hash   Online/Offline
                                                      
0    1615427359331  ...         1945  3NK38AjJUMDcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT...    -1
0    1615427359331  ...         1952  3NK38AjJUMvcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT...    -1
0    1615427359331  ...         1958  3NK38AjJUMDhEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT...    -1
0    1615427359331  ...         1952  3NK38AjJUMDcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT...    -1
0    1615427359331  ...         1957  3NK38AjJUMhDcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT..    -1

我不太確定你的用例是什么,但你肯定想在哪里使用 numpy

例如:

df['ON/OFF'] = np.where((df['Height']==median_height) & (df['State Hash']==mode_hash),1,0)

一種方法是使用 apply:

df['New'] = df.apply(lambda x: 1 if x['Height'] == median_height and x['State Hash'] == calculated_hash else 0, axis = 1)

暫無
暫無

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

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