大佬教程收集整理的这篇文章主要介绍了在 Pandas 中的数据框中查找和链接值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在 Pandas 数据框中,例如:
data = [['Ben','Apple','Banana'],['Nancy','Pear','Apple'],['Paul','Banana','Mango'],['Sally','Mango','Pear']]
df = pd.DataFrame(data,columns = ['name','like','dislike'])
df
name like dislike
0 Ben Apple Banana
1 Nancy Pear Apple
2 Paul Banana Mango
3 Sally Mango Pear
我将如何匹配 like 和 dislike 列中的水果并创建一个 df 或谁应该与谁交易的列表?
我想返回一个类似于以下内容的 df:
Trades = [['Ben','Paul'],'Sally'],'Nancy'],'Ben']]
TradesDF = pd.DataFrame(Trades,columns = ['From','To'])
From To
0 Ben Paul
1 Paul Sally
2 Sally Nancy
3 Nancy Ben
我最纠结的部分是匹配查找,我了解如何比较行和列,但是整个 DF 中的单个值是一个难题,似乎这里需要一些递归方法。 谢谢。
这是关系数据库使用的标准连接/合并操作。下面,我在“喜欢”、“不喜欢”列上将数据框加入到自身中,并将它们重命名:
public ItemViewModel()
{
ListOfItems = new ObservableCollection<ItemModel>();
OpenAddItemWindowCommand = new RelayCommand(OpenAddItemWindow);
CreateItemCommand = new RelayCommand(CreateItem);
}
private ObservableCollection<ItemModel> _listOfItems;
public ObservableCollection<ItemModel> ListOfItems { get { return _listOfItems; } set { _listOfItems = value; OnPropertyChanged("ListOfItems"); } }
输出:
df2 = pd.merge(left=df,right=df,left_on="Dislike",right_on="Like")
df2 = df2.rename(columns={"Name_x":"From","Name_y":"To"})[["From","To"]]
,
我想这个会帮助你:
trades=[]
for i in range(len(df)):
if Df.iloc[i]["Dislike"] in df["Like"].values:
trades.append((df.iloc[i]["Name"],(df["Name"][df.iloc[i]["Dislike"] == df.Like.values]).item()))
,
您可以在 Dislike = Like
上使用自加入/合并,并返回名称:
df_trade = df.merge(df,left_on='Dislike',right_on='Like',suffixes=('_from','_to'))
df_trade.loc[:,['Dislike_from','Name_from','Name_to']]
返回结果:
以上是大佬教程为你收集整理的在 Pandas 中的数据框中查找和链接值全部内容,希望文章能够帮你解决在 Pandas 中的数据框中查找和链接值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。