我正在试用pandas
,但在使用concat()
(而不是过时的append()
)用大量Series
填充DataFrame
时遇到了问题,其中名称应该从每个Series
(类似于DataFrame.set_index()
)的某个值中取出(移动)
下面的代码 * 可以工作 *,但我不知道如何使用正确的pandas
来复制它:
_collection = pd.DataFrame()
with open(filename) as _f:
for _line in _f.readlines():
# Parse the line into a dictionary
# e.g: {"Worker ID": 123, "Name": "John Smith", "Salary ($)": 1000}
_entry = re.match(RE_ENTRY, _line).groupdict()
# Append the dictionary to _collection using pd.concat()
_collection= pd.concat([_collection, pd.Series(_entry, name=_entry.pop("Work ID"))], axis=1)
return _collection
我发现将X1 M8 N1 X的变通方法替换为将X1 M9 N1 X更改为X1 M10 N1 X,但这似乎是多余的...
我假设pandas
有一种更干净的方法来完成这项工作,但不可否认,我对此知之甚少!👀💦
附言:可能有一个列表理解解决方案,但我需要调整解析后的_entry
中的一些值。😅
1条答案
按热度按时间ars1skjm1#
您可以使用
set_axis
: