我有一个数据帧,df。它有两列category
和description
。 category
或description
都不是索引的一部分。
我正在循环其他一些数据,然后逐个添加类别(variable = temp_category)到我的数据帧。如果category
已经存在,我想从数据框中获取description
,向其中附加一些文本,然后更新记录。
如果记录不存在,我只是用df.append附加一条新记录
我使用它来确定数据框中是否已存在该类别:
if df.ix[df['category'] == temp_category]['category'].count() > 0:
我的问题是:
if
语句是否是查看数据框中是否存在temp_category
的最简单方法?答案 0 :(得分:2)
也许pandas.merge()
就是你想要的:
import pandas as pd
df1 = pd.DataFrame({"c":["A", "B", "C"], "d":["d1", "d2", "d3"]})
df2 = pd.DataFrame({"c":["A", "B", "D", "E"], "d":["xx1", "xx2", "xx3", "xx4"]})
df = pd.merge(df1, df2, on="c", how="outer")
df.fillna("", inplace=True)
df["d"] = df["d_x"] + df["d_y"]
df.drop(["d_x", "d_y"], axis=1, inplace=True)
df
输出:
c d
0 A d1xx1
1 B d2xx2
2 C d3
3 D xx3
4 E xx4