Python 熊猫-从序列中提取数据
我正在尝试从pandas.core.series.series类型的列中提取数据所在地 我试过了Python 熊猫-从序列中提取数据,python,regex,pandas,Python,Regex,Pandas,我正在尝试从pandas.core.series.series类型的列中提取数据所在地 我试过了 df['col1'] = df['details'].astype(str).str.findall(r'name\=(.*?),') 但是上面的返回值为空 下面给出了df列['details'中数据的外观 正在尝试提取与名称字段对应的值 预期输出:Name1 希望这个例子能对你有所帮助 编辑: 您的数据帧有列“details”,其中包含一个dict{id':101,…} >>>
df['col1'] = df['details'].astype(str).str.findall(r'name\=(.*?),')
但是上面的返回值为空
下面给出了df列['details'中数据的外观
正在尝试提取与名称字段对应的值
预期输出:Name1
希望这个例子能对你有所帮助
编辑:
您的数据帧有列“details”,其中包含一个dict{id':101,…}
>>> df['details']
0 {'id': 101, 'name': 'Name1', 'state': 'active'...
您希望从字段“name”中获取值,因此只需尝试:
>>> df['details'][0]['name']
'Name1'
希望这个例子能对你有所帮助
编辑:
您的数据帧有列“details”,其中包含一个dict{id':101,…}
>>> df['details']
0 {'id': 101, 'name': 'Name1', 'state': 'active'...
您希望从字段“name”中获取值,因此只需尝试:
>>> df['details'][0]['name']
'Name1'
试试这个:简单,根据需要改变
import pandas as pd
df = pd.DataFrame([{'id': 101, 'name': 'Name1', 'state': 'active', 'boardId': 101, 'goal': '', 'startDate': '2019-01-01T12:16:20.296Z', 'endDate': '2019-02-01T11:16:00.000Z'}])
print(df['name'][0])
或者如果DataFrame位于列本身内部
df['details'][0]['name']
注意:正如您所提到的,详细信息是现有数据集中的数据集之一,请尝试以下操作:简单,根据需要更改
import pandas as pd
df = pd.DataFrame([{'id': 101, 'name': 'Name1', 'state': 'active', 'boardId': 101, 'goal': '', 'startDate': '2019-01-01T12:16:20.296Z', 'endDate': '2019-02-01T11:16:00.000Z'}])
print(df['name'][0])
或者如果DataFrame位于列本身内部
df['details'][0]['name']
注意:正如您所提到的,详细信息是现有数据集中的数据集之一,系列中的结构是字典
[{'id': 101, 'name': 'Name1', 'state': 'active', 'boardId': 101, 'goal': '', 'startDate': '2019-01-01T12:16:20.296Z', 'endDate': '2019-02-01T11:16:00.000Z'}]
您可以使用以下命令从该dict指向元素“name”
df['details'][0]['name']
如果名称可能不同,则可以获取字典中的键列表,并在该列表上应用正则表达式以获取字段名称
希望它能帮助你。你的系列文章的结构是一本字典
[{'id': 101, 'name': 'Name1', 'state': 'active', 'boardId': 101, 'goal': '', 'startDate': '2019-01-01T12:16:20.296Z', 'endDate': '2019-02-01T11:16:00.000Z'}]
您可以使用以下命令从该dict指向元素“name”
df['details'][0]['name']
如果名称可能不同,则可以获取字典中的键列表,并在该列表上应用正则表达式以获取字段名称
希望能对您有所帮助。详细信息的定义在哪里?您正在从DataFrame读取“详细信息”字段,但在您提供的数据样本中看不到该字段?@ShankarSaranSingh,抱歉忘了提及。。df['details']是我试图从中提取此数据的字段。我添加的示例数据来自此字段。您的列中有DICT吗?这通常不是你在熊猫身上应该做的。为什么不将字段拆分为单独的列?@scottmartin检查给定的解决方案,如果听起来不错,请接受作为答案,谢谢。“详细信息”在哪里定义?您正在从DataFrame读取“详细信息”字段,但在您提供的数据样本中看不到该字段?@ShankarSaranSingh,抱歉忘了提及。。df['details']是我试图从中提取此数据的字段。我添加的示例数据来自此字段。您的列中有DICT吗?这通常不是你在熊猫身上应该做的。为什么不将字段拆分成单独的列?@scottmartin检查给定的解决方案,如果听起来不错,请接受作为答案,谢谢。df['details']是我现有数据框中的一列,因此我正在尝试从现有数据框中的一个字段提取数据。如果您可以使用一些更好回答的随机值共享确切的数据,df['details']将获取详细信息列类似于df['name']获取名称列只是名称不同,但是,如果我们缺少一些东西,您应该添加一些问题,我会回头看。欢迎,快乐编码:我如何将其扩展到数据帧的每一行。这取决于您想进一步做什么,明确的业务需求可以简化更好的实现,如果只是想知道如何处理其他行,也一样,只需将索引从0更改为当前索引。df['details']是我现有数据框中的一列,因此我正在尝试从现有数据框中的一个字段提取数据。如果您可以使用一些更容易回答的随机值共享确切数据,df['details']will fetch details column类似地df['name']正在获取name column只是名称不同,但是如果我们缺少某些东西,您应该添加有疑问的内容,我会回头看。欢迎,快乐编码:我如何将此扩展到数据帧的每一行。这取决于您想进一步做什么,明确的业务需求可以简化更好的实现,如果只是想知道如何处理其他行,也一样,只需将索引从0更改为当前索引。df['details']是我现有DataFrame中的一列,因此我尝试从现有Dataframedf['details']中的一个字段提取数据是现有DataFrame中的一列,因此我正在尝试从现有DataFrame中的一个字段提取数据。如果我必须在1000行的列表中运行此操作,如何修改您建议的上述代码中的索引列。。将id从0更改为数据帧df['details'][0]['name']的每一行如果我必须在1000行的列表中运行此操作,我如何修改您建议的上述代码中的索引列。。将id从0更改为数据帧df['details'][0]['name']