有没有更简单的方法来使用 pandas read_clipboard 来阅读一个系列?

Could there be an easier way to use pandas read_clipboard to read a Series?

有时候,我想用 read_clipboard 阅读 Serieses,我必须这样做:

pd.Series(pd.read_clipboard(header=None).values[:,0])

如果有更简单的方法会更好吗?

我可以很容易地为数据帧做这件事,比如:

pd.read_clipboard()

就是这样。

但对于 Series,它的长度要长得多。

那么有没有更简单的方法呢?

那个我不知道?

有什么密码吗?

我认为最简单的是删除 Series 构造函数(read_clipboard return 这里是一列 DataFrame)并且因为 header 总是 None列是 0:

s = pd.read_clipboard(header=None)[0]

DataFrame.squeeze for pandas 0.20.0+ 的另一种解决方案,用于将一列 DataFrame 转换为 Series:

s = pd.read_clipboard(header=None).squeeze()

将此复制到剪贴板:

1
2
3

最好使用 squeeze=True 作为参数。

pd.read_clipboard(header=None, squeeze=True)

0    1
1    2
2    3
Name: 0, dtype: int64

其中returns一个Series。如果要给系列命名,使用names参数:

pd.read_clipboard(header=None, squeeze=True, names=['mycol'])

0    1
1    2
2    3
Name: mycol, dtype: int64

实际上,read_clipboard使用pyperclip从剪贴板中读取,并将文本发送到read_table

阅读支持的参数。