擅长:python、mysql、java
<p>在查看了您的<code>flash.dat</code>文件之后,很明显您需要在处理它之前进行一些清理。以下代码将其转换为CSV文件:</p>
<pre><code>import csv
# read flash.dat to a list of lists
datContent = [i.strip().split() for i in open("./flash.dat").readlines()]
# write it as a new CSV file
with open("./flash.csv", "wb") as f:
writer = csv.writer(f)
writer.writerows(datContent)
</code></pre>
<p>现在,使用Pandas计算新列。</p>
<pre><code>import pandas as pd
def your_func(row):
return row['x-momentum'] / row['mass']
columns_to_keep = ['#time', 'x-momentum', 'mass']
dataframe = pd.read_csv("./flash.csv", usecols=columns_to_keep)
dataframe['new_column'] = dataframe.apply(your_func, axis=1)
print dataframe
</code></pre>