[英]Create a new column in Pandas Dataframe based on the 'NaN' values in other columns
[英]Pandas: Create a new column based on a list of other values in my dataframe
通過使用以下 dataframe,我想根據 dataframe 中的其他值列表創建一個新列
import pandas as pd
df1 = pd.DataFrame(
{
"A": ["A0", "A1", "A2", "A3"],
"B": ["B0", "B1", "B2", "B3"],
"C": ["C0", "C1", "C2", "C3"],
"D": ["D0", "D1", "D2", "D3"],
},
index=[0, 1, 2, 3],
)
我想要的 output 示例如下(尊重順序很重要):
A B C D my_group
0 A0 B0 C0 D0 [D0, A0, B0]
1 A1 B1 C1 D1 [D1, A1, B1]
2 A2 B2 C2 D2 [D2, A2, B2]
3 A3 B3 C3 D3 [D3, A3, B3]
我看到一些與 group by 類似的例子,但這不是我正在尋找的答案: 如何將 dataframe 行分組到 pandas groupby 中的列表中
這是從定義的列創建列表的簡單案例
import pandas as pd
df1 = pd.DataFrame(
{
"A": ["A0", "A1", "A2", "A3"],
"B": ["B0", "B1", "B2", "B3"],
"C": ["C0", "C1", "C2", "C3"],
"D": ["D0", "D1", "D2", "D3"],
},
index=[0, 1, 2, 3],
)
df1["my_group"] = df1.loc[:,["D","A","B"]].apply(list, axis=1)
一個 | 乙 | C | D | 我的組 | |
---|---|---|---|---|---|
0 | A0 | B0 | C0 | D0 | ['D0','A0','B0'] |
1 | A1 | B1 | C1 | D1 | ['D1','A1','B1'] |
2 | A2 | B2 | C2 | D2 | ['D2','A2','B2'] |
3 | A3 | B3 | C3 | D3 | ['D3','A3','B3'] |
只做tolist
df1['new'] = df1[["D","A","B"]].to_numpy().tolist()
df1
Out[424]:
A B C D new
0 A0 B0 C0 D0 [D0, A0, B0]
1 A1 B1 C1 D1 [D1, A1, B1]
2 A2 B2 C2 D2 [D2, A2, B2]
3 A3 B3 C3 D3 [D3, A3, B3]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.