python-3.x - 向 pandas 数据框添加新列并插入与现有数据对应的数据
问题描述
我有一个熊猫数据框,其中包含这样的列。
列:[jobId、trainingInput、createTime、startTime、endTime、状态、trainingOutput、etag、errorMessage、标签]。
trainingInput 是一个字典,我在其中剥离部分数据并为数据框创建一个新列“serviceAccount”。我在新列中得到随机数据。
数据框示例:
trainingInput = {'scaleTier': 'CUSTOM', 'masterType': 'n2-highmem-4', 'packageUris': ['gs:/marketprice_aitp-0.0.0.tar.gz'] 'pythonVersion': '3.7', 'serviceAccount': 'projects/kk1'}
serviceAccount 应该是 - 'projects/kk1' 并且应该插入到相应的 trainingInput 中。
**Expected output:**
trainingInput serviceAccount
{'scaleTier': 'CUSTOM', 'masterType': projects/kk1
'n2-highmem-4', 'packageUris':
['gs:/marketprice_aitp-0.0.0.tar.gz']
'pythonVersion': '3.7',
'serviceAccount': 'projects/kk1'}
但是我得到的是基于下面代码的 serviceAccount 的随机数据。
k_1 = df['trainingInput'].values
temp =[]
for i in k_1:
m= json.dumps(i)
k = json.loads(m)
temp.append(k['serviceAccount'])
try:
df5 =pd.DataFrame(temp)
# df.merge(pd.DataFrame(data=[df5.values] * len(df), columns=df5.index, #index=df.index), left_index=True, right_index=True)
df['serviceaccount'] =k['serviceAccount']
# df['region'] = k['region']
except KeyError:
df['serviceaccount'] = 'None'
我也尝试了此处评论的合并。但我收到错误“ValueError:缓冲区的维数错误(预期为 1,得到 2)”。请让我知道你的想法。谢谢。
解决方案
推荐阅读
- regex - 查找数字并替换 + 1
- java - 如何解析 JUnit 结果 xml 文件并在 java 代码中获取测试用例?
- mysql - INNER JOIN 的问题我没有得到想要的结果
- api - 如何将字符串转换为 time.Time
- html - 如何在 HTML A-Frame 中设置延迟
- apache-flink - 澄清状态后端
- git - git repo 的错误 - 致命:“松散对象文件”上的 fsync 错误:错误的文件描述符
- excel - Excel和有条件地选择变量
- python - 无法完成代码,__init__() 需要 1 到 2 个位置参数,但给出了 3 个
- java - 如何通过 Jenkins API 使用 Jenkins SCM 中使用的 git hub URL 获取构建历史记录