我有一个带有 LISTS(with dicts) 作为列值的数据框。我的目的是规范整列(所有行)。我找到了标准化单行的方法。但是,我无法对整个数据框或列应用相同的功能。
data = {'COLUMN': [ [{'name': 'WAG 01', 'id': '105F', 'state': 'available', 'nodes': 3,'volumes': [{'state': 'available', 'id': '330172', 'name': 'q_-4144d4e'}, {'state': 'available', 'id': '275192', 'name': 'p_3089d821ae', }]}], [{'name': 'FEC 01', 'id': '382E', 'state': 'available', 'nodes': 4,'volumes': [{'state': 'unavailable', 'id': '830172', 'name': 'w_-4144d4e'}, {'state': 'unavailable', 'id': '223192', 'name': 'g_3089d821ae', }]}], [{'name': 'ASD 01', 'id': '303F', 'state': 'available', 'nodes': 6,'volumes': [{'state': 'unavailable', 'id': '930172', 'name': 'e_-4144d4e'}, {'state': 'unavailable', 'id': '245192', 'name': 'h_3089d821ae', }]}] ] }
source_df = pd.DataFrame(data)
Run Code Online (Sandbox Code Playgroud)
source_df …
我是 Python 新手,在连接两个 Pandas 数据框时遇到了很多麻烦,因为合并应该基于部分字符串匹配。进一步来说:
我有一个名为的数据框df,如下所示:
{ "writtenAt":"2015-01-01T18:31:01+00:00", "content":" India\u2019s banks will ramp up sales of bonds that act as capital buffers in 2015" }
大约有 10,000 行,看起来像上面那样。
现在,我有另一个名为 的数据框compNames,如下所示:
{ "ticker":"A", "name":"Agilent Technologies Inc.", "keyword":"Agilent" }
我有大约 500 行compNames数据框。
我正在尝试通过以下机制将代码值分配给compNames匹配的条目df:
检查整个列中的任何项目compNames['keyword']是否包含在df['content']
如果有匹配项,则将匹配的单词作为df数据帧的单独列返回(例如df['matchedName'])
如果有多个匹配项,则为对应的条目创建一个匹配词列表 df['content']
最后,通过使用and
作为我的关键变量加入dfandcompNamesdf['matchedName']compNames['keyword']
到目前为止我所拥有的是:
# Load select company names
compNames = pd.read_csv("compNameList_LARA.txt") …Run Code Online (Sandbox Code Playgroud)