我有一个大型CSV文件,其中包含大约10000行文本信息,并且我的数据集的每一行都由多行组成。但是,我只想阅读说CSV文件每一行的前20行。
我在pandas n_rows
方法中遇到了read_csv
参数,该方法有助于我们限制要加载的数据集的行数。还有没有办法只能从熊猫的每一行中读取前20行数据?
答案 0 :(得分:1)
您可以使用df = pd.read_csv('path\file.csv')
来读取csv,而不是仅通过df_new = df.head(20)
选择前20行。那是您在想什么吗?
答案 1 :(得分:0)
如果TiTo的答案不是您要寻找的答案,则可能是iloc
方法。您可以执行firstRows = df.iloc[:20]
来存储前20行。
但是,如果只需要前20行,则不应将整个文件加载到内存中。如您所提到的,这可以通过nrows
参数来实现。
答案 2 :(得分:0)
如果我正确地回答了您的问题,则您的CSV文件有多行,其中每行都有多行,并由换行符'\ n'分隔。并且您想从每行中选择前三行(例如)。
这可以通过以下方式实现:
# Read in CSV file using pandas-
data = pd.read_csv("example.csv")
# The first two rows (toy example) of dataset are-
data.iloc[0,0]
# 'Hello, this is first line\nAnd this is the second line\nThird and final line'
data.iloc[1,0]
# 'Today is 3rd June\nThe year is 2020\nSummer weather'
# First row's first line-
data.iloc[0,0].split("\n")[0]
# 'Hello, this is first line'
# First row's first two lines-
data.iloc[0,0].split("\n")[0:2]
# ['Hello, this is first line', 'And this is the second line']
从行“ x”获取前“ n”行的通用语法(假设第一列具有字符串数据)是
data.iloc[x,0].split("\n")[:n]
要从前“ x”行中选择前“ m”行(假设有m行或更多),请使用以下代码:
data.iloc[:x, 0].apply(lambda y: y.split("\n")[0:m])
有帮助吗?