将文本 table 转换为 pandas 数据框
Convert text table to pandas dataframe
很多时候,当我尝试在 Whosebug 上回答问题时,问题包含 table,我必须将其转换为 pandas 数据框才能进行处理。例如,在这个问题中:
我的问题是,有没有更快的方法将其转换为数据帧而不是编写:
df=pd.DataFrame({'graph':[1,2,3,4,5,6],
0:['blue','blue','red','red','blue','blue'],
1:['blue','blue','red','blue','red','blue'],
2:['blue','blue','blue','red','blue','blue'],
3:['blue','blue','blue','red','red','blue'],
4:['blue','blue','red','blue','red','blue']})
鉴于我可以复制文本:
graph 0 1 2 3 4
1 blue blue blue blue blue
2 blue blue blue blue blue
3 blue red blue blue red
4 red blue red red blue
5 red red blue red red
6 blue blue blue blue blue
确保所需的数据集在剪贴板中并使用pd.read_clipboard()方法。
一步一步:
- 标记想要的数据集
- 按 Ctrl+C(对于 MS Windows)
- 执行:
df = pd.read_clipboard()
In [40]: df = pd.read_clipboard()
In [41]: df
Out[41]:
graph 0 1 2 3 4
0 1 blue blue blue blue blue
1 2 blue blue blue blue blue
2 3 blue red blue blue red
3 4 red blue red red blue
4 5 red red blue red red
5 6 blue blue blue blue blue
很多时候,当我尝试在 Whosebug 上回答问题时,问题包含 table,我必须将其转换为 pandas 数据框才能进行处理。例如,在这个问题中:
我的问题是,有没有更快的方法将其转换为数据帧而不是编写:
df=pd.DataFrame({'graph':[1,2,3,4,5,6],
0:['blue','blue','red','red','blue','blue'],
1:['blue','blue','red','blue','red','blue'],
2:['blue','blue','blue','red','blue','blue'],
3:['blue','blue','blue','red','red','blue'],
4:['blue','blue','red','blue','red','blue']})
鉴于我可以复制文本:
graph 0 1 2 3 4
1 blue blue blue blue blue
2 blue blue blue blue blue
3 blue red blue blue red
4 red blue red red blue
5 red red blue red red
6 blue blue blue blue blue
确保所需的数据集在剪贴板中并使用pd.read_clipboard()方法。
一步一步:
- 标记想要的数据集
- 按 Ctrl+C(对于 MS Windows)
- 执行:
df = pd.read_clipboard()
In [40]: df = pd.read_clipboard()
In [41]: df
Out[41]:
graph 0 1 2 3 4
0 1 blue blue blue blue blue
1 2 blue blue blue blue blue
2 3 blue red blue blue red
3 4 red blue red red blue
4 5 red red blue red red
5 6 blue blue blue blue blue