我有一个数据框架:
import pandas as pd
data = {"name": ["a", "b", "c"], "1": [0.65, 0.001, None], "2": [0.02, 0.0011, 1.2], "3": [0.12, 0.231, 55.2], "index": [1, 2, 3]}
df = pd.DataFrame (data, columns = ['name', '1', '3', '2', "index"])如果行的"index“值与列名相同,则将列名对应的值添加到新的dataframe中。例如,对于第一行"a",索引是1,因此将"1“列0.65的值添加到新的数据帧中。
我正在努力解释这一点,但这是我希望以此结束的:
data2 = {"name": ["a", "b", "c"], "val": [0.65, 1.2, 0.231]}
df2 = pd.DataFrame (data2, columns = ['name', 'val'])发布于 2020-07-13 23:05:23
让我们试试lookup
df['val']=df.lookup(df.index,df['index'].astype(str))
df
Out[116]:
name 1 3 2 index val
0 a 0.650 0.120 0.0200 1 0.6500
1 b 0.001 0.231 0.0011 2 0.0011
2 c NaN 55.200 1.2000 3 55.2000https://stackoverflow.com/questions/62878541
复制相似问题