我上次遇到的最后一个问题解决了。这是解决它的代码。这不是我写的。
data = ['a', 'b', 'c', 'd', 'c', 'd', 'c', 'd']
pattern_counts = {}
for i in range(len(data)-2):
pattern = str(data[i]) + str(data[i+1]) + str(data[i+2])
if pattern in pattern_counts:
pattern_counts[pattern] += 1
else:
pattern_counts[pattern] = 1
for pattern, count in pattern_counts.items():
print("{}: {}".format(pattern, count))
打印时。它给出了 3 个值集的模式列表。它高效准确地做到了这一点。
这是我的问题:如何让它读取垂直值向下下降的 excel csv 文件?
真的很想知道。谢谢。
到目前为止,我已经尝试并将继续尝试剖析代码以了解如何将其转换为读取单元格。任何帮助都会很棒。谢谢。
要读取垂直值向下递减的 Excel CSV 文件,您可以使用 Python 中的 pandas 库。下面是一个示例代码,展示了如何修改现有代码以从名为“data.csv”的 CSV 文件中读取数据:
import pandas as pd
# Load the data from the CSV file into a pandas dataframe
df = pd.read_csv('data.csv', header=None)
# Convert the dataframe into a list
data = df[0].tolist()
# Perform the same pattern counting as before
pattern_counts = {}
for i in range(len(data)-2):
pattern = str(data[i]) + str(data[i+1]) + str(data[i+2])
if pattern in pattern_counts:
pattern_counts[pattern] += 1
else:
pattern_counts[pattern] = 1
# Print the pattern counts
for pattern, count in pattern_counts.items():
print("{}: {}".format(pattern, count))
在修改后的代码中,我们首先使用 read_csv() 函数将 CSV 文件加载到 pandas 数据框中。由于数据是垂直递减的,所以我们指定header=None表示没有标题行。
接下来,我们使用 tolist() 方法将数据帧转换为列表,它为我们提供数据帧第一列中的值列表。
最后,我们使用 for 循环执行与之前相同的模式计数,并打印出模式计数。
请注意,此代码假定 CSV 文件只有一列数据。如果有多个列,您可能需要修改代码以读取相应的列。