- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这是来自另一个 question 的一些数据:
positive negative neutral
1 [marvel, moral, bold, destiny] [] [view, should]
2 [beautiful] [complicated, need] []
3 [celebrate] [crippling, addiction] [big]
我首先要做的是在所有单词上添加引号,然后:
import ast
df = pd.read_clipboard(sep='\s{2,}')
df = df.applymap(ast.literal_eval)
有没有更聪明的方法来做到这一点?
最佳答案
对于基本结构,您可以使用 yaml无需添加引号:
import yaml
df = pd.read_clipboard(sep='\s{2,}').applymap(yaml.load)
type(df.iloc[0, 0])
Out: list
在某些情况下,您可以将列表读取为字符串并使用 literal_eval
(或 pd.eval
,如果它们是简单列表)将它们转换。
例如,
A B
0 [1, 2, 3] 11
1 [4, 5, 6] 12
首先,确保列之间至少有两个空格,然后复制数据并运行以下命令:
import ast
df = pd.read_clipboard(sep=r'\s{2,}', engine='python')
df['A'] = df['A'].map(ast.literal_eval)
df
A B
0 [1, 2, 3] 11
1 [4, 5, 6] 12
df.dtypes
A object
B int64
dtype: object
Notes
for multiple columns, use
applymap
in the conversion step:df[['A', 'B', ...]] = df[['A', 'B', ...]].applymap(ast.literal_eval)
if your columns can contain NaNs, define a function that can handle them appropriately:
parser = lambda x: x if pd.isna(x) else ast.literal_eval(x)
df[['A', 'B', ...]] = df[['A', 'B', ...]].applymap(parser)if your columns contain lists of strings, you will need something like
yaml.load
(requires installation) to parse them instead if you don't want to manually addquotes to the data. See above.
关于python - 您如何使用 pd.read_clipboard 读取带有列表的数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45827372/
我正在服务器上运行 JupyterHub 的 Data8 实例,并且 pd.read_clipboard()似乎不起作用。我在 google colab 中看到了同样的问题。 import panda
有时,我想使用 read_clipboard 来阅读 Serieses,我必须这样做: pd.Series(pd.read_clipboard(header=None).values[:,0]) 如果
从其他一些问题给出这个数据框: Constraint Name TotalSP Onpeak Offpeak Constraint_ID
这是另一个问题的一些数据: main Meas1 Meas2 Meas3 Meas4 Meas5 sublvl Value Value Value Value V
这是我长期面临的一个真实问题。 拿这个数据框: A B THRESHOLD NaN NaN NaN -0.041158 -
给定来自 another question 的数据集: user item \ 0 b80344d063b5ccb3212f7653
这是来自另一个 question 的一些数据: positive negative neutral
这是来自另一个 question 的数据框: +--------------------+---------------+-------+ | Location | Date
例如,如果您遇到的问题/答案发布了这样一个数组: [[ 0 1 2 3 4 5 6 7] [ 8 9 10 11 12 13 14 15] [16 17 18 19 20 21 2
给定一个 dataframe like this : C A B 1.1 111 20 222 31 3.3 222 24 333 65 5.
我注意到 Stack Overflow 上的很多 Pandas 问题只包含几行数据作为文本,没有随附的代码来生成/重现它。我知道 read_clipboard 的存在,但我无法弄清楚如何在许多情况下有
我是一名优秀的程序员,十分优秀!