簡體   English   中英

如何在 pandas dataframe 的特定行和列中插入輸入值

[英]How to insert a value from an input in a specific row and column in a pandas dataframe

我需要一些幫助。

我有一個 dataframe,比如:

A B C D
1 2 3 
5 6 7 
5 7 5

我想用 python 從輸入中獲取 D 值:

例如

for i in df.iterlupes():
    d= input(" put the number:")
    df["d"] = d

然后例如我將輸入 1 2 3,我將有:

A B C D
1 2 3 1
5 6 7 2
5 7 5 3

請問我該怎么做? 非常感謝 !!!

我想我知道你在問什么,雖然我不知道.interlupes()應該是什么意思。

您想要做的相對簡單,您想要捕獲用戶輸入並將它們放置到 dataframe 中的某個位置。 你沒有說清楚的是你如何捕捉它們的放置位置。

在您的示例中,您可以執行以下操作:

import pandas as pd
df = pd.DataFrame({"A":[1,5,5],"B":[2,6,7],"C":[3,7,5]})

def enter_new_column(df, name, print_column):

    # loop over length of the rows
    temp_arr = []
    for i in range(df.shape[0]):
        temp_arr.append(input(f"Put the Number for the value {df[print_column][i]}: "))
    df[name] = temp_arr

enter_new_column(df=df, name="D", print_column="Intitulé_complet")

我希望這是您正在尋找的內容:

import pandas as pd 
df = pd.DataFrame({"A":[1, 5, 5], 
                   "B":[2, 6, 7],  
                   "C":[3, 7, 5], 
                   "D":[" "]*3})
print (df)
for e in range (3):
    d= input(" put the number:")
    df.at[e,'D']=d
print (df)

Output 是:

   A  B  C  D
0  1  2  3   
1  5  6  7   
2  5  7  5   
 put the number:1
 put the number:2
 put the number:3
   A  B  C  D
0  1  2  3  1
1  5  6  7  2
2  5  7  5  3

您的示例的最終代碼(基於評論):

def enter_new_column(df, name): 
    for e in range (df.shape[0]):
        d= input(" put the number: ")
        df.at[e,name]=d
        
enter_new_column(devis, "Quantité") 

暫無
暫無

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

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